我有一个需要 Set 参数的方法。我想传入一个空集,并且我不希望对 Set 产生任何副作用。
我可以通过传入来处理集合:
Collections.unmodifiableSet(Sets.newHashSet())
但我想传入:
ImmutableSet.of()
如果我执行前者,Set<Object>
则会创建“方法不适用于 args Set”错误。如果我执行后者,ImmutableSet<Object>
则会创建并得到类似的错误。
这有效:
Collections.unmodifiableSet(new HashSet<String>())
...但看起来很难看,我想找到一种谷歌收藏的方式。