However I want this to be done as soon as an instance of the class is created.
My question is then where this should be done. Should I do this in a constructor..
是的,这是它的理想之处,因为构造函数的目的是用适当的状态初始化新创建的对象.
如果你有很少的构造函数,你可以使用初始化块,它将在编译器自动添加到每个构造函数的开头
class YourClass{
List list;
YourClass(){
//constructor 1
}
YourClass(String s){
//constructor 2
}
{
//initialization block, will be executed at start of each
//constructor (right after its super() call).
list = new ArrayList<>();
for (int i=0; i<10; i++)
list.add(Boolean.FALSE);
}
}
顺便说一句,如果按列表你的意思是boolean []数组,那么它默认填充错误的值,所以你不需要设置它.简单
class YourClass{
boolean[] list = new boolean[10]; // this array will be filed with false
}