isEmpty 与 null
List中的isEmpty
isEmpty()和size()==0是等价的,都是判断元素是否为空
直接看代码
ArrayList al1 = new ArrayList();
ArrayList al2 = null;
System.out.println(al1==null);
System.out.println(al1.isEmpty());
System.out.println(al2==null);
// System.out.println(al2.isEmpty()); -->NullPointerException
运行结果为:
false
true
true
- isEmpty()对象在内存中有被分配空间,只是对象的内部没有内容而已。isEmpty()等价于size()==0
- null表示对象在内存中没有被分配空间,在通过 . 调用属性或方法时会出现NullPointerException
因此当要对List里的数据进行操作时先进行判断一下
if (list!=null||!list.isEmpty() ){
}
String中的isEmpty
请直接看代码
String s1 = new String();
String s2 = "";
String s3 = null;
System.out.println(s1==null);
System.out.println(s1.isEmpty());
System.out.println(s2==null);
System.out.println(s2.isEmpty());
System.out.println(s3==null);
// System.out.println(s3.isEmpty());
运行结果为:
false
true
false
true
true
其实String s1 = new String()与String s2 = “”一样,都是在内存中分配了空间但是有没值。