基本知识
空串" "
String str1 = " ";
-
它有地址,它是被实例化的对象,值为空而已
-
空串""是长度为0的字符串,它有自己的串长度(0)和内容(空)
判断一个字符串为空的方法:
if (str.length() == 0);
或者
if (str.equals(" "));
null 串
String str2 = null;
- str1引用为空,它没有地址,它是一个没有被实例化的对象
- null串表示目前没有任何对象与该变量关联
检查一个字符串是否为null的方法:
if (str == null);
检查一个字符串既不是null串也不是空串
方法一:
if (str != null && str.length() != 0){
}
注意
:要先检查str不为null,否则在一个null值上调length()方法会出现错误。
方法二:
if (name !=null && !“”.equals(name)) {
}
- ‘’ "写在equals()外面
方法三 :
使用StringUtils工具类,判断不为null也不是空
if (StringUtils.isNotBlank(str));
注意:StringUtils是org.apache.commons.lang3下的工具类
字符串判断null或者空串的几种写法:
//①.最多人使用的一个方法, 直观, 方便, 但效率很低;
if (str == null || "".equals(str)) {
}
//②.比较字符串长度,效率高,是最好的一个方法;
if (str == null || str.length() <= 0) {
}
//③.JavaSE6.0 才开始提供的方法, 效率和方法二几乎相等,但出于兼容性考虑, 推荐使用方法二;
if (str == null || str.isEmpty()) {
}
//④.这是一种比较直观,简便的方法,而且效率也非常的高,与方法二、三的效率差不多;
if (str == null || str == "") {
}
推介使用:
1:最多人使用的一个方法, 直观, 方便, 但效率很低;
- ‘’"写在equals()外面
if (str == null || " ".equals(str)) {
}
2:比较字符串长度,效率高,是最好的一个方法
if (str == null || str.length() <= 0) {
}