k13*_*13i 6 java set java-stream collectors java-11
我有以下代码:
Stream.of(1, 4, 5).collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)
从方法一的JavadoctoSet()中可以看到:
不保证返回的 Set 的类型 (...)
我查看了toSet()方法的实际实现,乍一看它似乎HashSet总是返回(至少在 JDK 11 中)。
我知道将来可以在不违反合同的情况下更改实现,但目前是否存在HashSet返回的实现不同的情况?
Set从 JDK 11 开始,返回的类型Collectors.toSet()是HashSet. 当然,这可能会在 Java 的未来版本中发生变化,因此您不应该依赖于此。
如果您希望使用特定类型的Set,则应该使用Collectors.toCollection,并提供 lambda 来创建您选择的集合。
| 归档时间: |
|
| 查看次数: |
3179 次 |
| 最近记录: |