首页 > 代码库 > 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;
    }