只要出现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,需要分析是否开辟了栈内存。