我正在用一本书自学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是一个静态方法有关,但我找不到原因。我说得对吗?
发布于 2013-01-11 09:54:07
唯一可以直接在类内部的代码是声明和静态初始值设定项。请注意,Arrays.fill(myArray, false);不是这两者之一,因此它必须在另一个代码块中,特别是构造函数、方法或静态初始化器。
发布于 2013-01-11 09:41:43
不能在方法体之外运行任意语句。
您需要将代码放在构造函数、初始值设定项块或main方法中。
https://stackoverflow.com/questions/14270321
复制相似问题