gpt4 book ai didi

java - if语句比较java android中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:05:52 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Java String.equals versus ==

我正在尝试在 az DBOpenHelper extends SQLOpenHelper 类中编写一个方法。它应该评估数据库中是否有同名条目。

public boolean existsContact(Contact contact) {

SQLiteDatabase db = this.getReadableDatabase();
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {

String name = cursor.getString(1);
String cname = contact.getName();
if (name == cname) {

cursor.close();
db.close();
return true;
}

} while (cursor.moveToNext());
}

db.close();

return false;
}

下面是 Contact 类的相关部分:

 public class Contact {

String _name;
public String getName(){
return this._name;
}
}

奇怪的是:

场景 A:if (name == cname) 其中 name = "foo"cname = "foo" 等于 false。 Eclipse 调试器显示名称的 foo 和 cname 的 foo 具有不同的 ID。 两个变量都按照之前在代码中看到的那样填充。

场景 B:if(name == cname) 变量加载如下:

String name = "foo";
String cname = "foo";
statement equals true as it's supposed to.

场景 C:if("foo"== "foo") 等于 true...但是...调试器消失了。 LogCat 显示调试器已连接,但在 Eclipse 的调试透视图中没有任何 Activity 。断点无效。没有显示线程。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com