java 字符串为null 如何判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 字符串为null 如何判断相关的知识,希望对你有一定的参考价值。

参考技术A

定义 String str; 

判断字符串是否空涉及两个层次:

1、是首先判断字符串变量的引用是否为空,即空对象的概念,用null来判断,可以用if(str==null) 判断 str是否为空;(注意不能用equals(null),在参数为null情况下,返回值永远是false);

2、是在不为空对象的情况下,在判断字符串对象是否为空串,即长度为0.用length()==0。 关键是搞清楚字符串对象为空和空字符串有区别。

拓展内容

Java空字符串与null的区别: 

1、类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null ;
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" ; 

2、内存分配
String str = null ; 表示声明一个字符串对象的引用,但指向为null,也就是说还没有指向任何的内存空间;
String str = ""; 表示声明一个字符串类型的引用,其值为""空字符串,这个str引用指向的是空字符串的内存空间;

在java中变量和引用变量是存在栈中(stack),而对象(new产生的)都是存放在堆中(heap)。

如下:

String str = new String("abc") ; 

参考资料:java官方网站

Java中字符串的常用方法

java 字符串判断是否为空

    /**
     * 方法描述:字符串判断是否为空
     * 创建作者:李兴武
     * 创建日期:2017-06-22 19:50:01
     *
     * @param str the str
     * @return the boolean
     */
    public static Boolean isBlank(String str){
        if(str!=null) str = str.replaceAll("\r\n|\n\r|\n|\r|\f|\t", "");
        if(str==null) return true;
        else if(str.equals("")) return true;
        else if(str.equals("null")) return true;
        else if(str.equals("NULL")) return true;
        else if(str.equals("(null)")) return true;
        else if(str.equals("(NULL)")) return true;
        else if(str.trim().length()==0) return true;
        return false;
    }

以下字符全部返回true
1. \r\n|\n\r|\n|\r|\f|\t
2. null
3. “”
4. “null”
5. “NULL”
6. “(null)”
7. “(NULL)”








以上是关于java 字符串为null 如何判断的主要内容,如果未能解决你的问题,请参考以下文章

如何判断int类型为空或null

Java空字符串与null的区别和判断字符串是不是为空的方法

Java空字符串与null的区别和判断字符串是不是为空的方法

java如何判断非空

java中的数组怎么判断不为空

java中做字符串非空判断,为啥要同时判断字符串不为null和不等于空串?