我正在創建一個對象數組,有沒有辦法從同一行調用對象的構造函數?對象初始化數組
//Creating an array of employees
Employee[] emp=new Employee[10];
//above line creates only references pointing to null, how can i create objects
//by calling constructors in the same line?
我正在創建一個對象數組,有沒有辦法從同一行調用對象的構造函數?對象初始化數組
//Creating an array of employees
Employee[] emp=new Employee[10];
//above line creates only references pointing to null, how can i create objects
//by calling constructors in the same line?
不,不是從任何合理的水平在同一行 - 該公約是遍歷數組,如果需要使用對象填充:
for(int i=0 ; i<emp.length ; i++) {
emp[i] = new Employee();
}
它實際上是比較特殊的是要填充的數組與創建它時一樣(特別是在Java中,List
更受歡迎),因此除了手動數組初始化方法之外,不存在速記。如果你發現自己經常出於任何原因而這樣做,那麼你可以將for循環放到單獨的fill()
(或類似的)方法中,因此至少可以用這種方式快速地填充陣列。
你可以做完全荒謬的方式
Employee[] emp = new Employee[] {new Employee(/* args */), new Employee(/* args */), new Employee(/* args */), ...} ;
但實在是沒有意義的。使用for循環。
使用數組初始化:
for(int i = 0; i < emp.length; i++) {
emp[i] = new Employee();
}
或直接初始化像
Employee[] emp = {new Employee(), new Employee(), ...}
我喜歡的:
Employee[] emp = {new Employee("Joe"), new Employee("John")};
您可以用一個循環實現這一目標循環...