12

这是它的样子

public Object[] settings = {true, true, false, 1, true, false, 10, 10, 20, false, false, false, false, false, {true, true, true, true}};

错误:

 illegal initializer for java.lang.Object

在另一个 IDE 中,我收到此错误。

Static Error: Array initializer must be assigned to an array type
4

1 回答 1

12

像这样初始化数组:

public Object[] settings = new Object[]{true, true, false, 1};

但是,您不能在同一维度中拥有数组和值,因为维度中的每个元素都必须属于同一类型。(在我们的例子中严格地array '{}'Object

new Object[]{true, true, false, 1, {true, false} }; //<--- Illegal initializer

相反,只需在数组中使用多个维度和组值:

public Object[][] settings = new Object[][]{{true, true}, {false, 1, 3}};

使用ArrayListLinkedList在可以创建您喜欢的任何数组的地方。


更新

事实上,可以像这样混合元素:

new Object[]{true, false, 1, new Object[]{true, false} };
于 2014-03-21T08:24:25.457 回答