java - Java中将对象添加到固定集合(数组)中的方法

标签 java arrays

我创建了一个继承层次结构,其中包含一个名为 Employe 的父类(super class)和两个名为 Lecturer 和 Assistant 的子类。除此之外,我创建了一个名为 Subject 的类,其中包含一组员工。

我想在这里做的是创建一个方法来将 Employe 对象添加到数组中。
我制作了适用于 ArrayList 的同一个,但它似乎不适用于 Arrays。

如果可能的话,我如何创建一个方法来对数组做同样的事情?

public class Subject {

    private String subjectcode;
    private Employe[] employees;

    public Subject(String subjectcode) {
        this.subjectcode = subjectcode;
        Employe[] employees = new Employe[5];
    }

    public void setSubjectcode(String code) {
        this.subjectcode = code;
    }

    public String getSubjectcode() {
        return this.subjectcode;
    }

    public boolean addStaff(Employe employe) {
        if (employe instanceof Lecturer || employe instanceof Assistant) {
            this.employees.add(employe);
            return true;
        } else {
            return false;
        }
    }
}

最佳答案

您需要使用 ArrayList :

public class Subject
{   
    private String subjectcode;
    private final List<Employee> employees = new ArrayList<Employee>();

    public Subject(String subjectcode){
        this.subjectcode = subjectcode;
}

public boolean addStaff(Employe employe){
        return this.employees.add(employe);
 }

或者如果你仍然想使用数组:

public boolean addStaff(Employe employe){
        List<Employee> tempList = Arrays.asList(this.employees);
    boolean added = tempList.add(employe);
    this.employees = tempList.toArray(this.employees);
    return added;
 }

关于java - Java中将对象添加到固定集合(数组)中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30692091/

相关文章:

java - 如何在 spring 中以声明方式将(绑定(bind))对象放入 jndi?

java - 控制 Graphics2D 对象的 DPI

php - 如何使用 id 获取多个值并将其存储在变量中

arrays - Excel:通过单元格引用将数组参数传递给公式

java - 如何通过 Firebase 从用户向用户发送直接消息?

java - 如何使用 Jackson 映射动态 json 属性名称以进行 Spring Rest 模板请求

java - 使用 JDBC 连接到 .NET/IKVM 中的 SQL Server

jQuery:如何循环多维数组

java - 使用数组的直方图,最终直方图中不包括 int 10

c - Pthread Posix 质因数分解得到奇怪的结果?