[英]Add List to ArrayList
我正在嘗試將列表“studentList”和“handerwerkerList”添加到新的 ArrayList plist。 所以我希望我的對象都在一個列表中。 其他列表的參數比人員對象多。 但我想轉換其他列表,以便它們適合新列表。
static List <Person> personList = new ArrayList <Person>();
static List <Student> studentList = new ArrayList <Student>();
static List <Handwerker> handwerkerList = new ArrayList <Handwerker>();
public static void main (String[] args) {
PrintWriter out = new PrintWriter(System.out);
testDifferentTypes(out);
testRechnungen(out);
out.flush();
}
public static void testDifferentTypes(PrintWriter out) {
personList.add(new Person("Anton", "Kripp", 2001));
studentList.add(new Student("Sarah", "Hirschfelder", 1993, "Wirschaftinformatik", 123456));
studentList.add(new Student("Patrick", "Huf", 1990, "Informatik", 654321));
studentList.add(new Student("AJ", "Kurpieweit", 1995, "Psychologie", 250702));
handwerkerList.add(new Handwerker("Niko", "Budic", 2005, "Rohrleger", 9.82));
ArrayList<Person> plist = new ArrayList <Person>();
for(Person person : personList) {
plist.add(person);
}
for(Person person : studentList) {
plist.add(person);
}
for (Person person : handwerkerList) {
plist.add(person);
}
}
public class Student extends Person{
protected String studienfach;
protected int matrikelNr;
public Student(String Vorname, String Nachname, int geburtsjahr, String studienfach, int matrikelNr) {
super(Vorname, Nachname, geburtsjahr);
this.studienfach = studienfach;
this.matrikelNr = matrikelNr;
}
public Student(Person person, String studienfach, int matrikelNr) {
this(person.Vorname, person.Nachname, person.geburtsjahr,studienfach, matrikelNr);
}
public class Handwerker extends Person{
protected String gewerk;
protected Double stundenlohn;
public Handwerker(String Vorname, String Nachname, int geburtsjahr, String gewerk, Double stundenlohn) {
super(Vorname, Nachname, geburtsjahr);
this.gewerk = gewerk;
this.stundenlohn = stundenlohn;
}
public Handwerker(Person person, String gewerk, Double stundenlohn) {
this(person.Vorname, person.Nachname, person.geburtsjahr, gewerk, stundenlohn);
}
我建議您花一些時間閱讀inheritance 的工作原理。
您的問題的答案是,如果 Student 和 Handweker 已經擴展了 Person,那么您可以直接將它們添加到任何ArrayList<Person>
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.