空值判断的测试代码如下:
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; }
Java中空值的判断
时间: 2024-11-10 02:54:38