Sve*_*ven 4 java generics type-safety
在Eclipe,Java中,我正在研究一种能够完成大量工作的方法,并且最终需要返回带有参数Element的生成列表.此列表可能为null,在这种情况下,我希望该方法返回一个空列表.这是为了防止需要if(list != null)在任何地方进行检查,因为语句使用空列表.
我通过以下方式执行此操作:
return tempList == null ? Collections.EMPTY_LIST : tempList;
Run Code Online (Sandbox Code Playgroud)
但是,这会发出以下警告:
类型安全:类型列表的表达式需要未经检查的转换才能确认
List<Element>.
Eclipse建议的所有解决方案都不起作用.我猜这个问题是Collections.EMPTY_LIST返回一个通用列表,但不知道如何解决这个问题.
如果您真的想避免局部变量声明,请使用此语法.
return elements == null ? Collections.<Element>emptyList() : elements;
Run Code Online (Sandbox Code Playgroud)