【问题标题】:Mixed type and mixed array type array Object[] in java not compilingjava中的混合类型和混合数组类型数组Object []未编译
【发布时间】:2014-04-28 12:18:28
【问题描述】:

这是它的样子

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

【问题讨论】:

  • {true, true, true, true} 不是有效的 Java 语法,new something[] {true, true, true, true}something[] something = {true, true, true, true} 除外

标签: java arrays object compiler-errors mixed


【解决方案1】:

像这样初始化数组:

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

【讨论】:

  • public Object[] settings = {true, true, false, 1, true, false, 10, 10, 20, false, false, false, false, false, new Object[] {true, true, true, true}}; 为我工作,谢谢
猜你喜欢
  • 1970-01-01
  • 2021-12-15
  • 1970-01-01
  • 2018-05-12
  • 2020-08-04
  • 2014-09-10
  • 1970-01-01
  • 2022-08-23
  • 1970-01-01
相关资源
最近更新 更多