Java 如何将arrayList大小设置为空? 字符串a[]={null,null,null,null,null}; //将数组添加到arraylist ArrayList选项=新建ArrayList(Arrays.asList(a)); System.out.println(choice.size());
当所有元素都被设置为Java 如何将arrayList大小设置为空? 字符串a[]={null,null,null,null,null}; //将数组添加到arraylist ArrayList选项=新建ArrayList(Arrays.asList(a)); System.out.println(choice.size());,java,null,arraylist,Java,Null,Arraylist,当所有元素都被设置为null时,为什么arrayList选项的大小是5?我认为让您困惑的是,您认为arrayList是对象的arrayList,而不是对象引用的arrayList 对象的ArrayList表示对象引用的索引可访问列表 这种引用不引用真实对象,而是“null”是有效的 因此,您有五个参考“插槽”,每个插槽的值为null 这与由四个空值或零个空值组成的序列不同 看看你的字符串的初始数组和基本数组——它的长度是五,而不是零 更简单的是,当您有一个具有Object类型字段的类时,它仍然占
null
时,为什么arrayList选项的大小是5?我认为让您困惑的是,您认为arrayList是对象的arrayList,而不是对象引用的arrayList
对象的ArrayList表示对象引用的索引可访问列表
这种引用不引用真实对象,而是“null”是有效的
因此,您有五个参考“插槽”,每个插槽的值为null
这与由四个空值或零个空值组成的序列不同
看看你的字符串的初始数组和基本数组——它的长度是五,而不是零
更简单的是,当您有一个具有Object类型字段的类时,它仍然占用空间,而不管它实际上是引用某个对象还是为null。否则,您将无法实例化该类,并且在实际为字段分配某些内容时不需要重新分配该类 因为arraylist中还有5个元素。它们可能为空,但仍存在于列表中
通过调用choice.clear(),可以清空ArrayList代码>来自Javadocs for ArrayList:
可调整大小的数组实现
列表界面。实现所有
可选列表操作和许可证
所有元素,包括null
ArrayList可以保存空元素,因此大小为5。请记住,如果只声明一个新ArrayList(5)
,它的初始容量将为5,但size()
将为0。这是因为ArrayList不为null,它包含五个对象(所有对象都为null),无论如何ArrayList都不会有null大小,至少大小为0(零),如果ArrayList未初始化(为null),并且您尝试访问函数size(),它将抛出NullPointerException。我希望这些信息对您有用,并对我的英语不好表示歉意:(
String a []= {null,null,null,null,null};
//add array to arraylist
ArrayList<Object> choice = new ArrayList<Object>(Arrays.asList(a));
System.out.println(choice.size());