如何判断List是否为空,也就是list.isEmpty()和list.size() == 0 有何区别
一,如何判断List是否为空,也就是list.isEmpty()和list.size() == 0 有何区别?
就功能的实现来说,两者之间没有什么区别,都可以用来判断集合是否为空。
然后从效率上来说,equals方法的效率要高于StringUtils.isBlank。这一点很好理解,经过封装的isBlank的效率显然要低一些。但是一般情况下,字符串判断是否为空不会消耗太多的资源,所以我们也不用特别在意。
就功能的实现来说,两者之间没有什么区别,都可以用来判断集合是否为空。
我们来看API文档说明
/** * Returns the number of elements in this list. If this list contains * more than <tt>Integer.MAX_VALUE</tt> elements, returns * <tt>Integer.MAX_VALUE</tt>. * * @return the number of elements in this list */ int size(); /** * Returns <tt>true</tt> if this list contains no elements. * * @return <tt>true</tt> if this list contains no elements */ boolean isEmpty();
二,如何判断字符串为空?
现在有一个字符串:
String testString = "YANGCQ";我们有以下几种方法来判断:
1,equals方法
"".equals(testString);//安全的写法,推荐
testString.equals("");//不安全的写法2,StringUtils Apache工具类包中的StringUtils工具类
StringUtils.isEmpty(testString); StringUtils.isBlank(testString);
上面这2种方法,应该是我们经常使用的2种方法了。
首先从功能上来说,2种方法都是没有什么问题的,都可以实现我们想要实现的功能。然后就是StringUtil是null安全的,也就是说如果testString为null,也不会抛出NullPointerException异常。但是如果我们用equals方法,如果不注意的话,就可能会抛出NullPointerException异常。例如这种写法:testString.equals(""); 如果testString为null,显然就会出现NullPointerException异常了。
然后从效率上来说,equals方法的效率要高于StringUtils.isBlank。这一点很好理解,经过封装的isBlank的效率显然要低一些。但是一般情况下,字符串判断是否为空不会消耗太多的资源,所以我们也不用特别在意。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 阻止表单提交和提交
- 下一篇: 使用JS对form的内容验证失败后阻止提交