类型不匹配:无法从布尔值转换为int

问题描述 投票:0回答:3

我的代码的一小部分有一个小问题:它说

类型不匹配:无法从 boolean 转换为 int。

有人可以帮我吗?我的代码如下:

ArrayList<Integer> tower = new ArrayList<Integer>();
int Kilo = tower.add(1);
int Jan tower.add(2);
java arraylist integer addition
3个回答
4
投票

据我从您提供的代码中了解到,您需要使用

tower.get(1)
等,而不是
tower.add(1)


3
投票

问题出在

int Kilo = tower.add(1);
add
方法返回一个布尔值,大多数人不会费心存储它,因为它总是返回 true。这是因为 ArrayList 的超类 Collection 使用该布尔值来表示集合是否因此而更改(对于 ArrayList,它总是会更改,但其他集合可能不会如此)。您尝试将此布尔值存储到名为“Kilo”的
int
中,因此出现了问题。

根据您所说的,我认为您想要以下内容:

tower.add(1); //Adds 1 to the ArrayList
int Kilo = 1; //Stores 1 into Kilo

0
投票

您只需要执行

tower.add(1);
tower.add(2);
,除非您还尝试将变量转换为 ArrayList 的内容。 只需使用:

tower.add(1); //Adds 1 to the ArrayList
tower.add(2); //Adds 2 to the ArrayList

© www.soinside.com 2019 - 2024. All rights reserved.