Java stream 方法匹配的简写?请看举例

2020-09-26 08:18:51 +08:00
 lxk11153
.collect(Collectors.toCollection(LinkedHashSet::new))

// java.util.LinkedHashSet#LinkedHashSet()
// java.util.LinkedHashSet#LinkedHashSet(int)

如果想让它走#LinkedHashSet(int),有什么简写方式吗?

2092 次点击
所在节点    Java
9 条回复
kawowa
2020-09-26 08:24:50 +08:00
查了下,collectors 没有 toLinkedList 之类的,内容里面的::new 就是简写了吧
lxk11153
2020-09-26 08:26:59 +08:00
@kawowa #1 你理解不对,我是说`(LinkedHashSet::new))`调用的是`#LinkedHashSet()`方法,
我想问 ?如何简写? 让它调用的是`#LinkedHashSet(int)`方法 [doge]
wowo243
2020-09-26 08:44:42 +08:00
先 maptoint ?
lxk11153
2020-09-26 09:00:17 +08:00
@wowo243 #3 See 第 1 条附言
hodur
2020-09-26 09:05:25 +08:00
::new 应该不支持带参数的
GuoGuang
2020-09-26 09:13:31 +08:00
LinkedHashSet::new 只是简化 HashSet hs = LinkedHashSet();用途,指定构造函数只能 .collect(Collectors.toCollection(() -> new LinkedHashSet(1)))
lxk11153
2020-09-26 09:24:29 +08:00
@GuoGuang #6 好像,一时短路没想到`->` [doge]
aguesuka
2020-09-26 09:33:37 +08:00
你这段代码写出来会有警告,alt 回车会变成 6 楼的形状
lxk11153
2020-09-26 09:40:32 +08:00
@aguesuka #8 嗯,我没用现代化开发工具 IntelliJ IDEA 编辑代码 [doge]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710590

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX