1
public class Test {
    boolean[][] expectedResults = new boolean[8][2];
    expectedResults[0] = new boolean[] {false, false}; //00B
}       

给我以下编译时间错误:

test.java:3: ']' 预期的
expectedResults[0] = new boolean[] {false, false}; //00B
^
test.java:3: ';' 预期
的预期结果 [0] = 新布尔 [] {false, false}; //00B
^
test.java:3:expectedResults[0] 类型的非法开始 = new boolean[] {false, false}; //00B
^ test.java:3: 预期的expectedResults[0] = new boolean[] {false, false}; //00B
^ test.java:3: ';' 预期的预期结果 [0] = 新布尔 [] {false, false}; //00B
^ test.java:3:expectedResults[0] 类型的非法开始 = new boolean[] {false, false}; //00B
^ test.java:3: 预期的预期结果 [0] = 新布尔 [] {false, false}; //00B
^ test.java:3: ';' 预期的预期结果 [0] = 新布尔 [] {false, false}; //00B
^ test.java:3:expectedResults[0] 类型的非法开始 = new boolean[] {false, false}; //00B
^ test.java:3: 预期的expectedResults[0] = new boolean[] {false, false}; //00B
^ test.java:3: ';' 预期的预期结果 [0] = 新布尔 [] {false, false}; //00B
^ test.java:4: 类、接口或枚举预期
}

解决了

必须在一个方法!

4

4 回答 4

5

语法是:

expectedResults[0] = new boolean[]{false, false};

此外,请确保在方法或静态初始化块内执行分配。

于 2012-04-04T10:00:14.863 回答
0

您可以像这样创建一个数组{false, false},只有当您将它与 decleration ( ) 放在同一行时Array constants can only be used in initializers

boolean[] expectedResults = {false, false}; // complies

虽然这不会编译:

boolean[] expectedResults;
expectedResults = {false, false}; // does not complie

改为使用:

boolean[] expectedResults;
expectedResults = new boolean[]{false, false};
于 2012-04-04T10:04:55.560 回答
0

这是 8x2 布尔数组初始化变得容易。

  public boolean[][] expectedResults = {
    {false, false},
    {false, false},
    {false, false},
    {false, false},
    {false, false},
    {false, false},
    {false, false},
    {false, false},
  };

这是一个简单的 4x8 布尔数组初始化。

  public boolean[][] expectedResults = {
    {false, false, false, false, false, false, false, true},
    {true, false, false, false, false, false, false, true},
    {true, false, false, false, false, true, true, true},
    {false, true, true, true, true, true, true, false}
  };
于 2014-03-18T21:03:39.020 回答
-2

我认为您必须像这样初始化数组。

boolean[][] expectedResults;
 expectedResults = new boolean[8][2];
于 2012-04-04T09:59:54.470 回答