Collection<T>
있습니다. U31 인터페이스를 구현하는 클래스 TManager가있는 getCollection()
은 U가 인터페이스 인 Collection<U>
을 반환해야하고 T는 U를 구현하는 클래스입니다.Java : 콜렉션을 콜렉션 <U super T>
return (Collection<U>)Tcoll;
,이 문제를 해결하는 더 정확한 방법이 있습니까?
여기서는 4 개의 클래스/인터페이스를 모두 제어합니다. 나는
public Collection<? extends U> getCollection()
이어야한다
public Collection<U> getCollection();
로 UManager.getCollection
선언에 잘못된 건가요?
코드 예제가 다소 혼란 스럽습니다. 'U'또는 'Collection '을 반환 하시겠습니까? 적어도 클래스/메소드는 T가 U. – BalusC
콜렉션 의 구현임을 지시해야합니다. 나쁘다. 나는 내가 의미하는 것을 타이핑하지 않았다. –
또 다른 혼란은'U'와'T'는 실제로 인터페이스와 구현 클래스의 이름입니까 아니면 그냥 일반적인 유형입니까? – BalusC