평범한 캐스트 (기본적으로 실제로는 문제가되지 않는 잠재적으로 안전하지 않은 여러 뭉치를 감싼 래퍼)를 수행 할 라이브러리가 있는지 궁금합니다. 예를 들어, (간결함을 위해 생략 몸) 라이브러리에 다음과 같은 I가 있다고 가정합니다..자바 주조 유틸리티 라이브러리
public interface LibraryInterface;
public static void doSomething(Collection<LibraryInterface> collection);
그래서 doSomething()
고집 만 가능합니다 것보다 덜 유연 뭔가를한다 (즉, Collection<? extends LibraryInterface>
는 기능을 제공하는 라이브러리가 있나요 ?
LibraryInterface
를 구현하는 클래스를 가지고 있고, 나는
List<MyLibraryInterfaceImpl>
이있는 경우, 나는 아직도 그 목록을 주조로
doSomething()
을 사용할 수 있도록
public static <T, U extends T> Collection<T> cast(Collection<U> collection);
(cast()
의 본문이 포함 암시 : 다음과 같은 맥락에서 안전하지 않은 캐스트지만 적어도 캐스트가 숨겨져 있거나 한 곳에서 중앙 집중화 된 사용자의 입장).
(비교기와 같은 뭔가 반대를 않습니다 또한 좋은, 일)