在我的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
类型。
有人能指出我正确的方向吗?感谢。
答案 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