1. 程式人生 > >android、Java下判斷兩個String是否相等 、EditText輸入是否為空,限定輸入數字的實現 總結

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("")