java - 接受对象数组然后添加到 ArrayList 的类

标签 java arrays object arraylist

所以下面我有一个 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/

相关文章:

java - Gradle:如何创建多个jar?

java - 我可以向哪些类/实例中注入(inject) CDI 事件?

c# - 在 .NET 应用程序中处理大型数组的性能

python - 如何在 python 中定义锯齿状数组

javascript - 当 "use strict"时如何引用对象的实例;已宣布?

javascript - 在函数中传递对象

java - 我需要在那里显式使用flush()方法吗?

mysql - 从数组中设置 mysql 语句中的列和值

c# - 是否将IList <Object>转换为IList <CustomObject>?

java - 如何设置图片只上传jpg和png文件?