我想使用<比较两个列表中的元素> ==
使用intValue()是否正确?
List<Integer> a = new ArrayList<Integer>();
a.add(129);
List<Integer> b = new ArrayList<Integer>();
b.add(128);
if(a.get(0).intValue() > b.get(o).intValue()) {
// something
}
答案 0 :(得分:8)
你正在以正确的方式做到这一点。
如评论中所述,您也可以compareTo()
。
compareTo()
的替代是equals()
,在对象为空的情况下不会抛出NullPointerException。
答案 1 :(得分:2)
你的方式是正确的。但经过一次小修正。
1)
a.get(0).intValue() == b.get(0).intValue()
2)
a.get(0).equals(b.get(0))
这是您的代码中的问题,您必须获取(0),而不是 get(1)。请记住,在java中,始终以0 开头。
也可以使用equals()
或CompareTo方法比较值。
import java.util.ArrayList;
import java.util.List;
public class TestClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Integer> a= new ArrayList<Integer>();
a.add(128);
List<Integer> b = new ArrayList<Integer>();
b.add(128);
if(a.get(0).intValue() == b.get(0).intValue()){
System.out.println("success");
}else{
System.out.println("failure");
}
if(a.get(0).equals(b.get(0))){
System.out.println("success");
}else{
System.out.println("failure");
}
}
}