字符串判空
字符串为空分为两种情况
1)“”:表示分配了内存空间,值为空字符串,有值。
2)null:未分配内存空间,无值,值不存在。
为空的标准为:str == null 或 str.length()==0
1.判断为空
isempty()方法,判断是否为空,是否为空字符串(在string为null时,会出现空指针错误,isempty()方法底层是判断长度)isblank()方法,是判断字符串是否为空,空格、制表符、tab。
public static boolean isempty(charsequence cs) { return cs == null || cs.length() == 0; } public static boolean isblank(charsequence cs) { int strlen; if (cs != null && (strlen = cs.length()) != 0) { //判断是否为空格、制表符、tab for(int i = 0; i < strlen; ++i) { if (!character.iswhitespace(cs.charat(i))) { return false; } } return true; } else { return true; } }
2.判断不为空
isnotempty()、isnotblank()
推荐使用lang3下的stringutiles工具类中
stringutils.isblank()和stringutils.isnotblank(),它会过滤空格。
list判空
1.判断list不为空
- 方法1:list != null && !list.isempty()
- 方法2:list != null && list.size() > 0
注:
- list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果为空时调用它的方法,那么就会出现空指针异常。
- list.isempty():判断list里是否有元素存在
- list.size():判断list里有几个元素
所以判断list里是否有元素的最佳的方法是:
if(list != null && !list.isempty()){ //list存在且里面有元素 }
2.判断list为空
- 方法1:list == null || list.size() == 0
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论