我正在使用一本书来自学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
是静态方法这一事实有关,但我无法找到答案。我接近了吗?
答案 0 :(得分:8)
您不能在方法体外部运行任意语句。
您需要将代码放在构造函数,初始化程序块或主方法中。
答案 1 :(得分:2)
可以直接在类中的唯一代码是声明和静态初始化器。请注意Arrays.fill(myArray, false);
不是这些,所以它必须在另一个代码块中,特别是构造函数,方法或静态初始化器。