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 如何判断的主要内容,如果未能解决你的问题,请参考以下文章
Java空字符串与null的区别和判断字符串是不是为空的方法