java中没有编译的混合类型和混合数组类型数组Object []

这是它的样子

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
最佳答案
像这样初始化数组:

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

但是,您不能在同一维度中包含数组和值,因为维度中的每个元素都必须具有相同的类型. (在我们的例子中严格排列'{}’OR对象)

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} };

转载注明原文:java中没有编译的混合类型和混合数组类型数组Object [] - 代码日志