의 목록이 나는 그런 다음 두 개의 클래스 A
, B
및 C
정렬 일반적인 인터페이스 여기
Class A implements Comparable<A> {...}
interface C<T> {...}
//this class is not longer generic type, I do not know if this matter.
Class B extends A implements C<A> {...}
일반적인 인터페이스를 가지고,의 경우, 다른 클래스에, 나는 B
목록을 가지고 및 후속으로 분류
List<B> list = new ArrayList<B>();
Collections.sort(list);
이 완벽하게 작동하지만, 지금은 좀 더 일반적인 될 수 있도록, 일반 인터페이스 C
에 B
의 목록을 변경하고 싶습니다.
List<C<A>> list = new ArrayList<C<A>>();
Collections.sort(list);
나는 다음과 같은 오류가있어이 시간 :
바운드 불일치 : 유형
Collections
의 일반적인 방법sort(List<T>)
는 인수(List<C<A>>)
적용되지 입니다.
- 변화
C
interface C<T> extends Comparable<T>{...}
로 변경B
: 유추 유형C<A>
는 (물론이 작동하지 않습니다의) 나는 다음과 같은 수정을 시도<T extends Comparable<? super T>>
바운딩 매개 변수에 대한 유효한 대체하지 않습니다 ~ class B extends A implements C<A>, Comparable<T> {...}
나?
나는 당신의 요점을 얻었다. 그것은 작동합니다. 감사. – user1817188