为什么这段代码不起作用?如何设置Object[]
的长度。
Object[] entry = new Object[]{};
entry[0] = 1;
entry[1] = "1";
最佳答案
如果您要初始化一个新数组,那么您必须使用上面答案中提到的语法显式指定其大小:
Object[] entry = new Object[2];
或者使用您在问题中提出的数组初始值设定项 block ,如下所示:
Object[] entry = new Object[] {"a", "b"};
您在这里所做的是将一个数组初始化为空,从而将其大小设置为 0。如果您打印出该数组的长度,它将是 0。
如果您想要一个可以修改大小的数组,建议您使用List接口(interface)(例如ArrayList)。
List<Object> myList = new ArrayList<Object>();
您可以使用 ArrayList 的构造函数设置其初始容量:
List<Object> myList = new ArrayList<Object>(2);
列表是通用的,因此您应该使用类型参数,否则您会收到一些警告。
如果您不知道要在列表中存储哪些对象,您可以执行以下操作:
List<?> myList = new ArrayList(2);
但这样你会收到警告。
有关数组的更多信息:Arrays
关于列表:List interface
如果您对java泛型感兴趣:Generics
关于java - 如何设置Object[]的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064065/