2015-06-11 68 views
0

我有一個類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的破解?

+0

名單<標識符>標識符?或列表<標識符<?擴展knownSuperClassOfFooAndBar >>標識符 –

+0

兩個版本仍然不能編譯:-( –

回答

2

可以使該方法一般:

<T> List<UUID> extractUuids(List<Identifier<T>> identifiers) 
+0

完美,非常感謝! –

相關問題