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

时间:2015-02-25 20:09:45

标签: java arraylist integer add

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

  

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

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

ArrayList<Integer> tower = new ArrayList<Integer>();
int Kilo = tower.add(1);
int Jan tower.add(2);

3 个答案:

答案 0 :(得分:3)

根据我对您提供的代码的理解,您需要使用tower.get(1)等,而不是tower.add(1)等。

答案 1 :(得分:1)

问题在于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

答案 2 :(得分:0)

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