我已将数据库的内容加载到名为countList的ArrayList中。加载的内容是int类型。我使用命令
创建了countList ArrayList countList = new ArrayList();
现在,我需要检查arraylist的每个内容是否大于3。我写的就像
for(int i=0; i< itemset.size(); i++){
if(countList.get(i) >= 3)
{
}
}
当我简单地写它时,它显示二进制运算符'&gt; ='的错误操作数类型的错误。如何完成任务?
答案 0 :(得分:4)
>=
运算符仅定义在数字类型上,例如int
,double
或Integer
,Double
。现在,countlist
可能包含整数(我认为它确实存在),但是编写代码的方式,编译器无法确定。这是因为ArrayList
可以存储任何类型的对象,包括但不一定是Integer
。有几种方法可以解决这个问题:
a)您可以强制将ArrayList项目投放到Integer
,此时>=
运算符将起作用:
if ( (Integer) countList.get(i) >= 3)
b)您可以使用泛型告诉编译器您的ArrayList
只会存储Integer
:
ArrayList<Integer> countList = new ArrayList<Integer>();
答案 1 :(得分:-1)
for(i=0; i< itemset.size(); i++){
if (itemset.get(i) > 3) {
// Do whatever you want here
}
}