次のコードで問題が発生しています。
public ArrayList<? extends IEvent> getEventsByDateRange(DateTime minStartTime, DateTime minEndTime)
{
ArrayList<? extends IEvent> returnedEvents = new ArrayList<GoogleEvent>();
returnedEvents.add(new GoogleEvent());
return (returnedEvents);
}
これにより、「returnedEvents.add(new GoogleEvent()); コード行」に対して次のコンパイル エラーが返されます。
ArrayList 型のメソッド add(capture#1-of ? extends IEvent) は、引数 (GoogleEvent) には適用されません。
クラスの宣言は次のGoogleEvent
とおりです。
public class GoogleEvent implements IEvent {...}
Java でジェネリックを使用すると、いくつかのトリッキーな部分があることはわかっています。したがって、ワイルドカードですが、これを理解できないようです。
ありがとう。