我有以下代码:
public interface Segment<T> extends Period { ... };
public class SegmentImpl_v1<T> implements Segment<T> { ... };
public interface TimeLine<T, S extends Segment<T>> { ... };
public class TimeLineImpl<T, S extends Segment<T>>
implements TimeLine<T, S> {
private SortedSet<S> segments = new TreeSet<S>();
public void someFunction() {
// no suitable method for...
segments.add(new SegmentImpl_v1<T>(...));
}
}
我no suitable method for...
在添加段实例时得到一个。似乎 Java 的树集没有应用 PECS 原则。这个问题有解决方案吗?
解决方案
我实现了:
public static <T> Segment<T> newItem(Period p, T itemValue) {
return new SegmentImpl_v1(p, itemValue);
}
inSegmentImpl_v1
并调用它someFunction()
。