2

我已将数据库的内容加载到名为 countList 的 ArrayList 中。加载的内容是 int 类型。我使用命令创建了 countList

ArrayList countList = new ArrayList();

现在,我需要检查arraylist 的每个内容是否大于3。我写的像

for(int i=0; i< itemset.size(); i++){
    if(countList.get(i) >= 3)
    {

    }
}

当我简单地写它时,它显示二元运算符'> ='的错误操作数类型错误。怎么做任务?

4

2 回答 2

4

运算符仅在数字类型上定义,>=例如int,doubleInteger, Double。现在,countlist 很可能包含整数(我假设确实如此),但是您编写代码的方式,编译器无法确定。这是因为 anArrayList可以存储任何类型的对象,包括但不一定Integer。有几种方法可以解决这个问题:

a) 您可以ArrayList 项转换为Integer,此时>=操作符将起作用:

if ( (Integer) countList.get(i) >= 3)

b)您可以使用泛型告诉编译器您ArrayList将只存储Integers:

ArrayList<Integer> countList = new ArrayList<Integer>();
于 2013-06-06T02:00:55.057 回答
-1
for(i=0; i< itemset.size(); i++){
   if (itemset.get(i) > 3) {
      // Do whatever you want here
   }
}
于 2013-06-06T01:59:03.403 回答