0

在我的 Java 类中,我定义了这个属性:

private ArrayList requests;

这是类中的构造函数:

public LeaveRecord() {
    this.requests = new ArrayList<Request>();
    this.daysLeft = ALLOWANCE;
}

在另一种方法中,我试图Request根据 ArrayList 的索引返回相关对象。

public Request getRequestAt(int index) {
    try {
        return this.requests.get(index);
    } catch (IndexOutOfBoundsException e) {
        return null;
    }
}

但是我在返回行(上面代码片段中的第 3 行)上收到一个错误,说它需要leaverecord.Request但找到java.lang.Object.

我不知道可能出了什么问题,因为我将 ArrayList 定义为 type Request

有人能指出我正确的方向吗?谢谢。

4

1 回答 1

5

将其更改为

private ArrayList requests;

private ArrayList<Request> requests

但是,当您说时,编译器应该向您显示以下警告

 private ArrayList requests;

ArrayList is a raw type. References to generic type ArrayList<E> should be parameterized

于 2012-10-30T00:23:43.393 回答