StringUtils,CollectionUtils判断为空的方法和原生代码相比哪个效率高

之前一直疑惑,封装类的方法和直接写代码(字符串或者集合否为空)判断哪个效率高,但是最近自己才测试

结论 :自己直接写判断效率高(一般是0ms),但是封装的简便、严谨(一般10ms以内)

函数StringUtils.isNotBlank(testString)的功能与StringUtils.isBlank(testString)相反

函数StringUtils.isNotEmpty(testString)的功能与StringUtils.isEmpty(testString)相反.

isBlank与isEmpty区别

如果字符串是String str = " ";//或者是str = "    ";

那么StringUtils.isBlank(str ) = true;

StringUtils.isEmpty(str ) = false;

所以如果判断为空的话 最好用

StringUtils.isBlank(str) 或者 str!=null && !"".equals(str.trim())

CollectionUtils封装类,判断为空的方法:

List list = new ArrayList();

CollectionUtils.isEmpty(list);

Map map = new HashMap();

CollectionUtils.isEmpty(map);

源码:

public static boolean isEmpty(Collection collection) {
    return collection == null || collection.isEmpty();
}
public static boolean isEmpty(Map map) {
    return map == null || map.isEmpty();
}
/**
 * Returns true if this list contains no elements.
 *
 * @return true if this list contains no elements
 */
public boolean isEmpty() {
    return size == 0;
}
/**
 * Returns true if this map contains no key-value mappings.
 *
 * @return true if this map contains no key-value mappings
 */
public boolean isEmpty() {
    return size == 0;
}

针对以上方法,本人认为字符串判断是否为空用StringUtils.isBlank(str );

对集合判断还是用原生代码list != null && list.size>0

 

你可能感兴趣的:(java)