非空判断的个人理解
来源:互联网 发布:mac u盘安装win7教程 编辑:程序博客网 时间:2024/05/09 00:14
一 首先是字符串的非空判断
一般用 StringUtils.isNotEmpty(string);或者 StringUtils.isNotBlank
StringUtils底层代码
public static boolean isEmpty(String str) { return str == null || str.length() == 0;}public static boolean isNotEmpty(String str) { return !isEmpty(str);}public static boolean isBlank(String str) { int strLen; if(str != null && (strLen = str.length()) != 0) { for(int i = 0; i < strLen; ++i) { if(!Character.isWhitespace(str.charAt(i))) { return false; } } return true; } else { return true; }}public static boolean isNotBlank(String str) { return !isBlank(str);}
isNotEmpty(str)等价于 str != null && str.length > 0
isNotBlank(str) 等价于 str != null && str.length > 0 && str.trim().length > 0
同理
isEmpty 等价于 str == null || str.length == 0
isBlank 等价于 str == null || str.length == 0 || str.trim().length == 0
str.length > 0 && str.trim().length > 0 ---> str.length > 0二 判断对象为空假如要取具体查询结果的值,需要先将Objetc转化为String,而此时最容易出现空指针,需要判断对象是否为空;
/**
* 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty
*
* @param obj
* @return
*/
@SuppressWarnings("unchecked")
public static boolean isNullOrEmpty(Object obj) {
if (obj == null)
return true;
if (obj instanceof CharSequence)
return ((CharSequence) obj).length() == 0;
if (obj instanceof Collection)
return ((Collection) obj).isEmpty();
if (obj instanceof Map)
return ((Map) obj).isEmpty();
if (obj instanceof Object[]) {
Object[] object = (Object[]) obj;
if (object.length == 0) {
return true;
}
boolean empty = true;
for (int i = 0; i < object.length; i++) {
if (!isNullOrEmpty(object[i])) {
empty = false;
break;
}
}
return empty;
}
return false;
}
阅读全文
0 0
- 非空判断的个人理解
- String的非空判断、Integer的非空判断、list的大小判断,对象的非空判断
- 关于java的非空判断
- PHP非空判断的必要性
- Mybatis int 判断非空的坑
- Mybatis int 判断非空的坑
- 循环list的非空判断
- 47-字符串的非空判断
- mybatis对非空的判断Bug
- js 完整的非空判断
- angularjs的添加和非空判断
- js 判断非空对象的方法
- 非空判断
- String非空判断
- js非空判断
- List判断非空
- 非空判断注意
- 非空判断
- 这几天的总结
- openfire xmpp 通过presence service判断用户是否在线
- 【WebDriver】解决ElementNotVisibleException方法总结
- Memcached-1.4.4-14 For Win32 or Win64
- 【SQL两表关联级联】两张表关联,统计级联数量ORACLE
- 非空判断的个人理解
- 基于内容的推荐算法(推荐系统)(四)(完结,不填坑了
- poj 1932(最长路Bellman_Ford
- CentOS 7下安装Mysql
- hdu 2546-饭卡
- Linux笔记(2)-目录树结构
- git http/https方式储存密码
- 软中断域硬中断
- String类不可变性的好处