小编Los*_*dam的帖子

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

可能重复:
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 …

java eclipse string android if-statement

7
推荐指数
2
解决办法
6万
查看次数

负数输入(EditText)变得无符号

我正在做一个电缆长度计算器,但我在处理负数时遇到了麻烦。

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 对话,但我没有找到任何关于如何防止这种情况的信息。

android numbers android-edittext

1
推荐指数
1
解决办法
5967
查看次数