如何返回一個使用泛型作爲空列表的自定義對象?返回一個通用空列表
我已經擴展了List接口,並創建了自己的自定義類型
public interface MyCustomList<T>
extends List<T>
{
在一個類中,我有它返回一個自定義列表的方法,但我總是一個編譯器錯誤告終。基本上這個方法的默認實現應該返回一個空列表,但我不能讓它工作,因爲我遇到了下面的錯誤。 「不兼容類型」
public MyCustomList<MyCustomBean> getCodes(String code)
{
return Collections.<MyCustomList<MyCustomBean>>emptyList();
}
請告訴我發回一個「泛型」空單執行的正確方法?
爲什麼你需要一個自定義的List接口? –
不是答案,而是解釋:你不能這樣做的原因是因爲Collections.emptyList()的簽名是'列表 emptyList()'。這意味着它將返回一個T列表。當你像這樣調用'emptyList()'時,它實際上會返回'List >',但是'getCodes()'方法會返回一個' MyCustomList '所以你得到一個編譯時錯誤。 –