天天看點

java判斷是否空值_Java中空值的判斷

空值判斷的測試代碼如下:

String str = new String();//

System.out.println("1=" + (str == null));

System.out.println("2=" + str.isEmpty());

System.out.println("3=" + str.equals(""));

str = "";//空字元串

System.out.println("11=" + (str == null));

System.out.println("22=" + str.isEmpty());

System.out.println("33=" + str.equals(""));

str = " ";//空格字元串

System.out.println("111=" + (str == null));

System.out.println("222=" + str.isEmpty());

System.out.println("333=" + str.equals(""));

str = null;//空值

System.out.println("1111=" + (str == null));

//System.out.println("2222=" + str.isEmpty());//運作該行報錯

//System.out.println("3333=" + str.equals(""));//運作該行報錯

輸出結果如下:

1=false

2=true

3=true

11=false

22=true

33=true

111=false

222=false

333=false

1111=true

總結:

在判斷一個對象是否為空時:

對于一個新的執行個體:可以用.isEmpty()來判斷;

當對象是String時,.isEmpty()與.equals("")判斷結果均為true,

對于其他對象則是.isEmpty()結果為true,.equals("")結果為false;

是以判斷一個新的執行個體是否為空要用.isEmpty()來判斷;

對于指派為null時:隻能用==null來判斷(用.isEmpty()或者當String用.equals(""),都會報空指針錯誤);

對于String對象指派為空字元串“”時,可以用.isEmpty()和.equals("")來判斷,結果相同;

對于String對象指派為空格字元串“ ”時,它不屬于空值,是以用==null、.isEmpty()、.equals("")判斷,結果都是false(也不會報錯);

Java7 中JDBC:

public boolean isEmpty() {

return value.length == 0;

}