如何返回一个使用泛型作为空列表的自定义对象?返回一个通用空列表
我已经扩展了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 '所以你得到一个编译时错误。 –