我想知道是否存在一个库来执行一堆平凡的演员表(基本上是一堆潜在的不安全演员表的包装,在大多数情况下,这在实践中不是问题)。例如,假设我在库中有以下内容(为简洁起见省略了正文):
public interface LibraryInterface;
public static void doSomething(Collection<LibraryInterface> collection);
所以doSomething()
固执地只需要一些不如可能灵活的东西(即。。Collection<? extends LibraryInterface>
是否有一个库提供与以下相同的功能:
public static <T, U extends T> Collection<T> cast(Collection<U> collection);
因此,如果我有一个实现的类LibraryInterface
,并且我有一个List<MyLibraryInterfaceImpl>
,我仍然可以doSomething()
通过强制转换该列表来使用?(的主体cast()
暗示包含不安全的演员表,但至少从用户的角度来看,演员表被隐藏起来,或者集中在一个地方)。
(也很好,与比较器之类的东西相反)