Java 类的ArrayList作为参数

Java 类的ArrayList作为参数,java,list,inheritance,arraylist,constructor,Java,List,Inheritance,Arraylist,Constructor,各位,我有个问题。在将类插入ArrayList之前,什么语句可以帮助我实现正确的类。我已宣布护士和飞行员为雇员对象。 我希望我的类ArrEmp的每个实现都存储不同的Employees对象 例如:护士、飞行员,。。。在我的类在构造函数中得到一个示例之后 什么陈述有帮助??或者我应该重新思考这个问题。 谢谢你的帮助 问题是用正确的类填充数组(它将从纯文本中读取,并通知要添加它的类) 这段代码可以编译,只需复制粘贴即可 我这样问这个问题是因为数据实际上是从磁盘读取的,而ArrEmp不知道他在读什么员工

各位,我有个问题。在将类插入ArrayList之前,什么语句可以帮助我实现正确的类。我已宣布护士和飞行员为雇员对象。 我希望我的类ArrEmp的每个实现都存储不同的Employees对象 例如:护士、飞行员,。。。在我的类在构造函数中得到一个示例之后 什么陈述有帮助??或者我应该重新思考这个问题。 谢谢你的帮助

问题是用正确的类填充数组(它将从纯文本中读取,并通知要添加它的类)

这段代码可以编译,只需复制粘贴即可


我这样问这个问题是因为数据实际上是从磁盘读取的,而ArrEmp不知道他在读什么员工。我需要提供一个示例,以便它构建正确的员工,然后将其插入阵列中。因此,
newarremp(nancy)
读取文件并构建护士并存储他们,但是
newarremp(nancy)
读取文件并在其上加载飞行员


编辑解决方案:我将创建一个泛型ARRAYLIST EXTENDS EMPLOYEE,并为每个Emlploye对象扩展类…

为什么不使用泛型?见:

本质上使用

ArrayList<Nurse>
ArrayList
而不是ArrayEmp(南希)说它将只包含护士,然后语言将负责执行它

public static class Employee {
    String name;
    int ID = 0;
    public Employee(String name){
        this.name = name;
    }
}
只是用ID来表示它们之间的区别?您可以创建枚举并填写清晰的名称,以区分不同的对象。它比字符串比较和使用
instanceOf
更快

public static class Pilot extends Employee{
    int ID = 1;

    public Pilot(String name){
        this.name = name;
    }
}   
编辑:

public ArrEmp(Employee x){
    if (x.ID == 1) // add to the list you want 
    else if (x.ID == 2) // add to list you want
     .... 
}

我这样问这个问题是因为数据实际上是从磁盘读取的,而ArrEmp不知道他在读什么员工。我需要提供一个示例,以便它构建正确的员工,然后将其插入阵列中。所以ArrEmp(nancy)读取文件并构建护士并存储它们。。。你明白了
ArrayList有没有办法输入一个字符串nameClass作为param而不是example,然后通过一个case block pick来实现正确的类?您是否控制将数据放入磁盘的格式?泛型与序列化一起工作。是的,我必须创建其他类来扩展这个类,我只是试图不这样做,但我认为这是最好的解决方案。这似乎是一个方向。问题是填充,假设我在构造函数中插入1,这是一个试点。我应该如何定义fillList()?@lrn2java我想,你想错了。假设您读取数据时得到了密钥对
<1,“name”>
您所做的就是拥有一个
if(1==ID)addList(new Pilot(“name”)@lrn2java我添加了一些代码,可能会澄清我在说什么。
public ArrEmp(Employee x){
    if (x.ID == 1) // add to the list you want 
    else if (x.ID == 2) // add to list you want
     .... 
}