所以下面我有一个 Dog 类和一个 Doghouse 类。我对 java 很陌生,所以我不清楚如何创建一个 Doghouse 类,该类具有一个接受 Dogs 数组并将其添加到 ArrayList 的构造函数。我下面的代码有意义吗?
public class Dog{
public Dog(int number, double price, double sWeight, String origin, String webpage){
}
}
import java.util.ArrayList;
public class Doghouse{
private ArrayList<Dog> dogList;
public Doghouse(Dog[] newDog){
for(int i = 0; i < newDog.length; i++){
dogList.add(newDog[i]);
}
}
}
最佳答案
目前使用dogList
而不初始化它会抛出NPE。
您可以将其修复为:
public static class Doghouse {
private List<Dog> dogList;
public Doghouse(Dog[] newDog) { // constructor name corrected
this.dogList = Arrays.stream(newDog).collect(toList());
}
}
或者可能更容易理解
public Doghouse(Dog[] newDog) {
this.dogList = new ArrayList<>(); // initialise first
dogList.addAll(Arrays.asList(newDog)); // add later
}
关于java - 接受对象数组然后添加到 ArrayList 的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53643748/