如何设置Object []的长度

You*_*per 0 java arrays

为什么这段代码不起作用?如何设置长度Object[].

Object[] entry = new Object[]{};
entry[0] = 1;
entry[1] = "1";
Run Code Online (Sandbox Code Playgroud)

Max*_*fer 5

您必须初始化数组的大小.要么像这样:

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)

干杯,马克斯


Ada*_*old 5

如果您正在初始化一个新数组,那么您必须使用上面答案中提到的语法显式指定其大小:

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感兴趣