V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lxk11153
V2EX  ›  Java

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

  •  
  •   lxk11153 · 2020-09-26 08:18:51 +08:00 · 2249 次点击
    这是一个创建于 1518 天前的主题,其中的信息可能已经有所发展或是发生改变。
    .collect(Collectors.toCollection(LinkedHashSet::new))
    
    // java.util.LinkedHashSet#LinkedHashSet()
    // java.util.LinkedHashSet#LinkedHashSet(int)
    

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

    第 1 条附言  ·  2020-09-26 08:59:55 +08:00
    // 其实就是问这一坨的简写,不要纠结为何要这么写,我就是举个例子来研究研究
    .collect(Collectors.toCollection(new Supplier<LinkedHashSet<Object>>() {
        @Override
        public LinkedHashSet<Object> get() {
            return new LinkedHashSet<>(3);
        }
    }));
    
    kawowa
        1
    kawowa  
       2020-09-26 08:24:50 +08:00
    查了下,collectors 没有 toLinkedList 之类的,内容里面的::new 就是简写了吧
    lxk11153
        2
    lxk11153  
    OP
       2020-09-26 08:26:59 +08:00
    @kawowa #1 你理解不对,我是说`(LinkedHashSet::new))`调用的是`#LinkedHashSet()`方法,
    我想问 ?如何简写? 让它调用的是`#LinkedHashSet(int)`方法 [doge]
    wowo243
        3
    wowo243  
       2020-09-26 08:44:42 +08:00 via Android
    先 maptoint ?
    lxk11153
        4
    lxk11153  
    OP
       2020-09-26 09:00:17 +08:00
    @wowo243 #3 See 第 1 条附言
    hodur
        5
    hodur  
       2020-09-26 09:05:25 +08:00
    ::new 应该不支持带参数的
    GuoGuang
        6
    GuoGuang  
       2020-09-26 09:13:31 +08:00   ❤️ 1
    LinkedHashSet::new 只是简化 HashSet hs = LinkedHashSet();用途,指定构造函数只能 .collect(Collectors.toCollection(() -> new LinkedHashSet(1)))
    lxk11153
        7
    lxk11153  
    OP
       2020-09-26 09:24:29 +08:00
    @GuoGuang #6 好像,一时短路没想到`->` [doge]
    aguesuka
        8
    aguesuka  
       2020-09-26 09:33:37 +08:00 via Android
    你这段代码写出来会有警告,alt 回车会变成 6 楼的形状
    lxk11153
        9
    lxk11153  
    OP
       2020-09-26 09:40:32 +08:00
    @aguesuka #8 嗯,我没用现代化开发工具 IntelliJ IDEA 编辑代码 [doge]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5260 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 08:48 · PVG 16:48 · LAX 00:48 · JFK 03:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.