以下是它的样子
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
答案 0 :(得分:7)
像这样初始化数组:
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}};
使用ArrayList
或LinkedList
可以创建您喜欢的任何数组。
的更新强> 的
事实上,可以混合使用这样的元素:
new Object[]{true, false, 1, new Object[]{true, false} };