我有一个类Identifier<T>
它基本上是一个UUID类型安全的包装(因此类Foo
包含一个Identifier<Foo>
)。如何将List <Identifier <Foo>>传递给List <Identifier <?>>参数的方法?
FooStore
类有一个方法List<Identifier<Foo>> bulkReadIdentifiers()
。
在另一类中,我需要将此List<Identifier<Foo>>
变成List<UUID>
。为Foo
实现这个方法很简单,但我该如何声明该方法才能适用于任意类,即Bar
而不是Foo
?
方法List<UUID> extractUuids(List<Identifier<?>> identifiers)
导致编译错误,因为?
不匹配Foo
。这可以解决而不使用涉及原始列表和/或@SuppressWarnings
的破解?
名单<标识符 extends T>>标识符?或列表<标识符<?扩展knownSuperClassOfFooAndBar >>标识符 –
两个版本仍然不能编译:-( –