此代码应该列出最近调用的最近相同的nos,但它们正在显示,请帮助
//code
Long number0=(long) 0;
// loop through cursor
while(mCallCursor.moveToNext()){
Long number1 = mCallCursor.getLong(0);
if(number1==number0)
continue;
else
number0=number1;
if(mCallCursor.getString(2)!=null){
String name = mCallCursor.getString(2);
System.out.println(name);
}
else
System.out.println(number1);
}
答案 0 :(得分:5)
而不是
if(number1==number0)
使用
if(number1.equals(number0))
两个Long
值可以满足equals
而不是==
。
答案 1 :(得分:0)
它不起作用的主要原因是Long的对象和==运算符的工作原理是它测试两个对象的等同性而不是存储在这些对象中的长值。另一方面,long不是一个对象而是一个原始的。
if((long)number2 == (long)number1)
也应该有效。