2

我正在使用一本书自学Java。我的一个练习需要一个带有布尔值的数组。当我尝试Arrays.fill(myArray, false)如下所示使用时,出现编译器错误。加上IDE抱怨。

...\ArrayFill.java:6: <identifier> expected
...\ArrayFill.java:6: <identifier> expected
...\ArrayFill.java:6: illegal start of type

这是代码:

import java.util.Arrays;

public class ArrayFill {

boolean[] myArray = new boolean[4];   // Declaration OK.
Arrays.fill( myArray, false);         // Not OK.

//    boolean[] myArray = {false, false, false, false }; // Manually OK.

public void makeReservation(){
    Arrays.fill(myArray, false);      // In a method, OK.
}

}

似乎它与Arrays.fill静态方法的事实有关,但我找不到答案。我接近了吗?

4

2 回答 2

9

您不能在方法主体之外运行任意语句。

您需要将代码放入构造函数、初始化程序块或 main 方法中。

于 2013-01-11T01:41:43.173 回答
2

唯一可以直接在类中的代码是声明和静态初始化器。请注意,这Arrays.fill(myArray, false);两者都不是,因此它必须位于另一个代码块中,特别是构造函数、方法或静态初始化程序。

于 2013-01-11T01:54:07.463 回答