我有课Identifier<T>
它本质上是 UUID 的类型安全包装器(因此类 Foo
包含 Identifier<Foo>
)。
FooStore
类有一个方法 List<Identifier<Foo>> bulkReadIdentifiers()
.
在另一个类中,我需要把这个List<Identifier<Foo>>
进入List<UUID>
。实现一个为 Foo
执行此操作的方法很简单,但是我如何声明该方法以便它适用于任意类,即 Bar
而不是Foo
?
方法List<UUID> extractUuids(List<Identifier<?>> identifiers)
导致编译错误,因为 ?
不匹配Foo
。可以在不使用涉及原始列表和/或@SuppressWarnings
的黑客的情况下解决这个问题吗? ?
最佳答案
您可以使该方法通用:
<T> List<UUID> extractUuids(List<Identifier<T>> identifiers)
关于java - 如何将 List<Identifier<Foo>> 传递给带有 List<Identifier<?>> 参数的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30777819/