此代码应列出最近的呼叫,但跳过了最近的相同号码,但它们正在显示,请帮助
//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);
}发布于 2012-01-02 12:30:59
而不是
if(number1==number0)使用
if(number1.equals(number0))两个Long值可以在不为==的情况下满足equals。
发布于 2012-01-02 15:53:54
它不工作的主要原因是,Long是对象,==运算符的作用是测试两个对象的相等性,而不是存储在这些对象中的长值。
if((long)number2 == (long)number1)应该也能正常工作。
https://stackoverflow.com/questions/8697392
复制相似问题