我有一個類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 >>標識符 –
兩個版本仍然不能編譯:-( –