我尽可能返回空集合而不是 null。我使用 java.util.Collections 在两种方法之间切换:
return Collections.EMPTY_LIST;
return Collections.emptyList();
emptyList()
应该是类型安全的。但我最近发现:
return Collections.<ComplexObject> emptyList();
return Collections.<ComplexObject> singletonList(new ComplexObject());
等等
我在 Eclipse Package Explorer 中看到这个方法:
<clinit> () : void
但我没有在源代码 (1.5) 中看到这是如何完成的。这种神奇的愚蠢行为是怎么发生的!!
编辑: 静态Generic类型是如何实现的?
最佳答案
return Collections.<ComplexObject> emptyList();
使用它可以消除来自 Eclipse 的关于非通用集合的警告。
话虽如此,由于空列表是不可变的并且 Java 在编译时删除泛型类型,所以类型化空列表在功能上将与非类型化空列表相同。
关于java - 具有静态泛型的类型安全、泛型、空集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625579/