android、Java下判斷兩個String是否相等 、EditText輸入是否為空,限定輸入數字的實現 總結
str1.equals(str2)來判斷,不能用==或者!=來判斷,原因:
因為String是引用型別的,不是基本資料型別,所以它們的比較是使用地址和值(相當於C中的指標)來比較的,因為它們是不同的物件,有不同的地址,所以str1!=str2永遠都是true。而str1==str2永遠是false。如果你中想比較它們的數值是否相等就使用str1.equals(str2)。使用==或者!=是物件的比較,它們為真的條件是:不僅要求是同一物件,而值也要求相等。
因此判斷editText輸入是否為空,可以這樣來:
if("".equals(editText.getText().toString().trim()))
上面這行程式碼的意思是:
""代表空,什麼都沒輸入。
equals的意思是""跟equals後面括弧裡的東西進行對比,如果一樣就為空。括弧裡的就是實際輸入的東西
editText.getText()就是取得裡面的東西。toString()轉化為字串。trim()的意思是,拿到裡面的東西后,把前後的空格都過濾掉。
直接在xml裡設定editText的輸入限制為:數字 這樣程式就不用判斷了,要麼什麼都沒有,要麼就是數字。
android:inputType="number"
edittext的屬性裡,還可以限制最多可以輸入的字元個數,即length。
android:maxLength="3"
一個綜合的下例子:
if("".equals(et.getText().toString()))
{
new AlertDialog.Builder(this)
.setMessage("身高不能為空")
.setPositiveButton("Ok", null)
.show();
return;
}
還可以這樣來判斷是否輸入為空:
mEditText.getText().length()== 0
mEditText.getText().toString() == null
mEditText.getText().toString().equals("")