在其构造函数中具有Obj
的System.out.println("Hello world!") ;
类
我使用-Obj[] objArray = new Obj[10] ;
创建了此类的数组,并且未打印任何内容,这意味着-没有调用Obj
的实例。除了在for循环中创建实例之外,还有其他方法可以创建此类数组吗?
最佳答案
好吧,既然您想了解一种除了使用for循环之外的方法,可以这样做:-
Obj[] objArray = {new Obj(), new Obj(), new Obj()};
这里发生的是,您正在直接使用数组元素初始化数组引用。
现在,从LHS上的数组引用类型可以推断出实际数组对象的类型。
因此,使用该声明,将创建一个大小为3的数组(在上述情况下),并使用给定顺序使用
instance
类的Obj
初始化该数组中的每个索引。我建议的一种更好的方法是使用
ArrayList
,在这种情况下,您可以使用double-braces initialization
来初始化List
而无需for循环。另外,您还可以随时向其中添加新元素。由于它是dynamically increasing
数组。List<Object> list = new ArrayList<Object>() {
{
add(new Obj());
add(new Obj());
add(new Obj());
}
}; // Note the semi-colon here.
list.add(new Obj()); // Add another element here.