为什么这段代码不起作用?如何设置长度Object[].
Object[] entry = new Object[]{};
entry[0] = 1;
entry[1] = "1";
Run Code Online (Sandbox Code Playgroud)
您必须初始化数组的大小.要么像这样:
Object[] entry = new Object[2];
entry[0] = 1;
entry[1] = "1";
Run Code Online (Sandbox Code Playgroud)
或者这样做:
Object[] entry = new Object[] {1, "1"};
Run Code Online (Sandbox Code Playgroud)
干杯,马克斯
如果您正在初始化一个新数组,那么您必须使用上面答案中提到的语法显式指定其大小:
Object[] entry = new Object[2];
Run Code Online (Sandbox Code Playgroud)
或使用数组初始化程序块阻止您在问题中呈现的内容,如下所示:
Object[] entry = new Object[] {"a", "b"};
Run Code Online (Sandbox Code Playgroud)
你在这里做的是将数组初始化为空,从而将其大小设置为0.如果打印出该数组的长度,它将为0.
如果您想要一个可以修改其大小的数组,建议您使用List接口(例如ArrayList).
List<Object> myList = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
您可以使用其构造函数设置ArrayList的初始容量:
List<Object> myList = new ArrayList<Object>(2);
Run Code Online (Sandbox Code Playgroud)
列表是通用的,因此您应该使用type参数,否则您将收到一些警告.
如果您不知道将在List中存储哪些对象,则可以执行以下操作:
List<?> myList = new ArrayList(2);
Run Code Online (Sandbox Code Playgroud)
但是你会收到警告.
有关数组的更多信息:数组
关于列表:列表界面
如果您对java Generics:Generics感兴趣