可能重复:
Java String.equals与==
我正在尝试在az DBOpenHelper中编写一个方法来扩展SQLOpenHelper类.它应该评估DB中是否有一个具有相同名称的条目.
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;
}
Run Code Online (Sandbox Code Playgroud)
这是Contact类的相关部分:
public class Contact {
String _name;
public String getName(){
return this._name;
}
}
Run Code Online (Sandbox Code Playgroud)
现在这是奇怪的事情:
场景A:if (name == cname)where …
我正在做一个电缆长度计算器,但我在处理负数时遇到了麻烦。
EditTexts 是这样的
<EditText android:layout_height="wrap_content" android:layout_weight="1" android:inputType="numberDecimal|numberSigned" android:layout_width="40px" android:id="@+id/rxmax">
</EditText>
Run Code Online (Sandbox Code Playgroud)
然后我像这样使用它们:
final EditText rxmax = (EditText) findViewById(R.id.rxmax);
double RXmax = new Double(rxmax.getText().toString());
Run Code Online (Sandbox Code Playgroud)
在我做了一个简单的计算之后:
double OPBmax = TXmax - RXmax;
Run Code Online (Sandbox Code Playgroud)
某处输入的负数变为正数。我在猜测 toString 对话,但我没有找到任何关于如何防止这种情况的信息。