Java 接受对象数组的类然后添加到ArrayList
下面我有一门狗课和一门狗屋课。我对java相当陌生,所以我不清楚如何创建一个Doghouse类,该类具有一个接受Dogs数组并将其添加到ArrayList的构造函数。我下面的代码有意义吗Java 接受对象数组的类然后添加到ArrayList,java,arrays,object,arraylist,Java,Arrays,Object,Arraylist,下面我有一门狗课和一门狗屋课。我对java相当陌生,所以我不清楚如何创建一个Doghouse类,该类具有一个接受Dogs数组并将其添加到ArrayList的构造函数。我下面的代码有意义吗 public class Dog{ public Dog(int number, double price, double sWeight, String origin, String webpage){ } } import java.util.ArrayList; public cla
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]);
}
}
公共级狗{
公犬(整数、双倍价格、双倍重量、字符串来源、字符串网页){
}
}
导入java.util.ArrayList;
公营狗舍{
私有数组列表;
公共狗舍(狗[]新狗){
for(int i=0;i
}目前使用
狗名单
而不初始化它会抛出一个NPE
您可以将其修复为:
public static class Doghouse {
private List<Dog> dogList;
public Doghouse(Dog[] newDog) { // constructor name corrected
this.dogList = Arrays.stream(newDog).collect(toList());
}
}
公共静态类狗屋{
私人名单;
公共狗屋(狗狗[]新狗狗){//constructor name已更正
this.dogList=Arrays.stream(newDog.collect)(toList());
}
}
或者更容易理解
public Doghouse(Dog[] newDog) {
this.dogList = new ArrayList<>(); // initialise first
dogList.addAll(Arrays.asList(newDog)); // add later
}
公共狗屋(狗[]新狗){
this.dogList=new ArrayList();//首先初始化
dogList.addAll(Arrays.asList(newDog));//稍后添加
}
目前使用狗名单
而不进行初始化会抛出NPE
您可以将其修复为:
public static class Doghouse {
private List<Dog> dogList;
public Doghouse(Dog[] newDog) { // constructor name corrected
this.dogList = Arrays.stream(newDog).collect(toList());
}
}
公共静态类狗屋{
私人名单;
公共狗屋(狗狗[]新狗狗){//constructor name已更正
this.dogList=Arrays.stream(newDog.collect)(toList());
}
}
或者更容易理解
public Doghouse(Dog[] newDog) {
this.dogList = new ArrayList<>(); // initialise first
dogList.addAll(Arrays.asList(newDog)); // add later
}
公共狗屋(狗[]新狗){
this.dogList=new ArrayList();//首先初始化
dogList.addAll(Arrays.asList(newDog));//稍后添加
}
我投票结束这个问题,因为缺少研究会很高兴地向你抛出一个NullPointerException
。还有公共仓库
与狗窝有什么关系?轻微的打字错误。编辑以适合。谢谢你的反馈,我投票结束这个问题,因为没有研究会很高兴地向你抛出一个NullPointerException
。还有public Warehouse
和狗窝有什么关系?轻微的打字错误。编辑以适合。谢谢你的反馈