Java中集合对象为null和list.size==0和list.isEmpty()的区别

185 阅读1分钟

只要出现new一个新对象(如:ArrayList<User> users = new ArrayList<>(); ),users集合对象就在堆中开辟了一个内存,users集合对象就不存在为null的情况;此时判空方法:users.size==0和users.isEmpty()。

在集合中添加空对象(null),也是属于长度为1的对象,即:users.add(null);后users.size==1;

无new的情况时(如:ArrayList<User> users = null),就是没有在堆内存中开辟空间。此时判空方法:users != null&&users.isEmpty()

总结:判断是否会为null,需要分析是否开辟了栈内存。