試圖完全理解Java中的泛型,我遇到了一個我無法解決的問題,也沒有在網絡中找到具體的解決方案。 我有這樣的方法:Java中的數組,列表和泛型
public <T extends City> void someMethod(List<T[]> objectsList) {
List<City[]> myList = (List<City[]>) objectsList;
}
只是寫這與我提供了一個錯誤,我可以忽略編譯器 - 但是在編譯過程中編譯器無法說
Error:(97, 46) error: incompatible types: List<T[]> cannot be converted to List<City[]> where T is a type-variable: T extends City declared in method <T>someMethod(List<T[]>)
一個簡單的解決方案是簡單的運行在收到的'objectsList'中的整個列表和數組,並且一次對它們進行類型轉換,這將工作(我嘗試過),但是我不確定這是否是正確的方式來執行它...
可以張貼一些更code..post一個[MCVE](http://stackoverflow.com/help/mcve)(最小完備可驗證實施例)或[SSCCE](HTTP://www.sscce .org /)(簡短,獨立,正確的例子)。 – Madhan
*一個簡單的解決方案是簡單地運行接收到的'objectsList'中的整個List和Arrays,並一次一個地對它們進行類型轉換,這可以工作*。我抓着我的腦袋,想知道你到底是什麼意思?如果你首先告訴我們在'someMethod'內部想要做什麼,你不覺得這會更有意義嗎? – CKing
@Madhan:那**是**一個MCVE。 – Makoto