A. java判斷字元串是否為空
方法一:if(變數.isEmpty())返回true表示,變數中存儲的字元串為空,返回false表示變數中存儲的的字元串不為空
方法二:if(變數.length()==0);判斷變數的長度,長度為0表示變數中存儲的字元串為空
方法三:if(變數.equals(""))使用equals比較值,相同返回true,相異返回false;
tips:不推薦用 「變數==null" 來對字元串進行判斷。
舉例: String str=""; 這種情況,雖然str中不存在值,但是也不等於null
於是得出結論: ==是用來判斷路徑是否相同
B. java 怎麼用if判斷字元是否為空格
判斷該字元的length是否為0就可以,或者直接用方法isEmpty()來判斷。也可以用String的方法trim(),去掉前導空白和後導空白,再判斷是否為空。
C. java中string型變數判斷是否為空哪個正確
首先就要確保他不是null,然後再判斷他的長度。
String str = xxx;
if(str != null && str.length() != 0) { }
這種做法是安全的,首先他會判斷str是否為空,如果為空那麼if就直接退出了,就不會再判斷後面的str.length() != 0了,這是JAVA的手塌&&特性,也許其他語言也是這樣。
String字元串判定是否為空方法總結
判斷一個字元串str不為空的方法有:
1. str!=null;(前提條件)
2. 「」.equals(str);
3. str.length()!=0;
注意:length是屬性,一般集合類對象擁有的屬性,取得集合的大小。
例如:數組.length就是取得數組的長度。
length()是方法,一般字元串類對象有該方法,也是取得字元串長度。
例如:字元串.length();
說明:
1. null表示這個字元串不指向任何的東西,那麼沒有是否為空的問題,因為引用的實例對象都沒有。這時候如果你調用它的方法,那麼就會出現空指針異常。
2.」「表畢雀圓示它指向一個長度為0的字元串,這時候調用它的方法歲橡是安全的。
3. null不是對象,」「是對象,所以null沒有分配空間,」「分配了空間,例如:
String str1 = null; str引用為空
String str2 = 「」; str應用一個空串
str1還不是一個實例化的對象,兒str2已經實例化。
對象用equals比較,null用等號比較。
如果str1=null;下面的寫法錯誤:
if(str1.equals(「」)||str1==null){ }
正確的寫法是 if( ( str1==null ) || str1.equals(「」)){
//先判斷是不是對象,如果是,再判斷是不是空字元串;而且順序不能亂 }
D. java中變數a是double型的。怎麼判斷a是否為null
Double a = Double.NaN;
//第一種 前兩種要求類型是Double即包裝類
System.out.println(a.equals(Double.NaN));
//第二種
System.out.println(a.equals(0.0d / 0.0));
//第三種 使用Double的靜態方法,方法實現就是第四種 類型無要求
System.out.println(Double.isNaN(a));
//第四種 利用NaN自己和自己不相等的特性,
//要求類型必須是double,不能是包裝類,否則結果是false
//因為包裝類是引用類型,比較的!=是地址的比較而不是值的比較。
double b = Double.NaN;
System.out.println(b != b);
(4)java判斷字元不為空擴展閱讀:
實際開發中常常遇到這種需求:double類型的數據如果為空,就展示空字元串;如果為0,就展示0。
一般是這樣做,新建一個model,和資料庫里的欄位,數據類型一一對應。然後把資料庫里的數據取到這個model的集合里,然後進行進一步處理。
這時候就有個問題,比如double類型會默認初始化為0,這樣就無法區分資料庫里是0值還是null。
解決方法一
再從資料庫中獲取你所需要的數據的條數。這樣如果值為0且數據條數小於等於0,這種情況就是空值;否則就是0.
解決方法二
可空類型。double,有0值就是0,沒有值就是null。
E. java中做字元串非空判斷,為什麼要同時判斷字元串不為null和不等於空串
首先,不為null:
如果為null的話,後面會傳值會拋異常,如果你沒做異常處理,那麼會影響你後面代碼的執行,也就是說程序會在拋出異常的那一刻停止運行(非循環情況)
然後,不為空(字元串中不添加任何內容s="")
有些時候,一些程序需要變數有個初始值,比如我想在s="s"的時候將它置空,然後輸出,這時候s就不能為空字元串了
不過一般情況下很少做s=""判斷,基本上開始都會讓s="",然後在代碼的執行過程中,讓它等於某些值,然後進行某些判斷,不過需要注意的是,在開始賦值是不能寫成String s;,這樣的話s就是null了,這時候如果下面有針對該值的判斷,編譯器就會報錯
F. java中做字元串非空判斷,為什麼要同時判斷字元串不為null和不等於空串
對於null而言。如果一個字元串為null,例如String a = null; 那麼此時,調用字元串對象a的方法,例如a.length(); 就會報空指針異常,即NullPointerException。如果這個異常沒有被catch住的話,a.length();後面的代碼就都不會被執行了。同時,如果這個程序是伺服器程序,那麼還會出現500這種屬於比較嚴重的問題。所以,在使用字元串對象前要先判斷一下其不為null。
不等於空串這個就是根據具體業務而定了,空串也就是字元串長度為0。那麼這種字元串在很多時候是沒什麼意義的。如果一個字元串是空串,那麼就可以不執行後面的業務邏輯了(視具體業務而定)。所以這種情況也需要判斷。