为什么这个声明错了?该声明导致标识符预期错误
class Abc{
static ArrayList<Integer> p;
p = new ArrayList<Integer>(); // identifier expected error
}
答案 0 :(得分:2)
您的班级团体中有一份独立的作业声明。你不能在那里有逐步代码,它必须在某些东西(初始化块,方法,构造函数......)中。在您的具体情况下,您可以:
将其作为初始化程序放在声明中
static ArrayList<Integer> p = new ArrayList<>();
将其包裹在static
初始化块
static {
p = new ArrayList<Integer>();
}
答案 1 :(得分:0)
这是正确的方法:
import java.util.ArrayList;
public class Abc {
static ArrayList<Integer> p;
static {
p = new ArrayList<Integer>(); // works
}
}