与ArrayList不兼容的类型错误

时间:2012-10-30 00:21:55

标签: java types arraylist

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

private ArrayList requests;

这是该类中的构造函数:

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

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

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

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

我不知道会出现什么问题,因为我将ArrayList定义为Request类型。

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

1 个答案:

答案 0 :(得分: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