我有一个期望Set参数的方法.我想传入一个空集,我不想要任何副作用.
我可以通过传递来收集这些内容:
Collections.unmodifiableSet(Sets.newHashSet())
Run Code Online (Sandbox Code Playgroud)
但我想传入:
ImmutableSet.of()
Run Code Online (Sandbox Code Playgroud)
如果我做了前者a Set<Object>
创建并且我得到"方法不适用于args Set'错误.如果我做后者我得到ImmutableSet<Object>
了,我得到类似的错误.
这有效:
Collections.unmodifiableSet(new HashSet<String>())
Run Code Online (Sandbox Code Playgroud)
...但看起来很难看,我想找到一个Google Collections方式.
试试这个:
ImmutableSet.<String>of()
Run Code Online (Sandbox Code Playgroud)
这也可以:
Collections.<String>emptySet()
Run Code Online (Sandbox Code Playgroud)
只要类型推断失败,此语法对于手动指定类型参数很有用.:-)
归档时间: |
|
查看次数: |
275 次 |
最近记录: |