Mor*_*lus 3 java generics arraylist bounded-wildcard
我在以下代码中遇到了一些麻烦.
public ArrayList<? extends IEvent> getEventsByDateRange(DateTime minStartTime, DateTime minEndTime)
{
ArrayList<? extends IEvent> returnedEvents = new ArrayList<GoogleEvent>();
returnedEvents.add(new GoogleEvent());
return (returnedEvents);
}
Run Code Online (Sandbox Code Playgroud)
这将为"returnedEvents.add(new GoogleEvent());代码行"返回以下编译错误:
方法add(捕获#1-of?extends IEvent)在ArrayList类型中不适用于参数(GoogleEvent)
该课程的声明GoogleEvent如下:
public class GoogleEvent implements IEvent {...}
Run Code Online (Sandbox Code Playgroud)
我知道在Java中使用泛型有一些棘手的部分,因此是通配符,但我似乎无法弄清楚这一点.
谢谢.
你为什么不写:
public List<IEvent> getEventsByDateRange(DateTime minStartTime, DateTime minEndTime)
{
List<IEvent> returnedEvents = new ArrayList<IEvent>();
returnedEvents.add(new GoogleEvent());
return returnedEvents;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1997 次 |
| 最近记录: |