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

JEP 359: Records, Java 的新语法

  •  
  •   Cbdy · 2019-12-12 14:42:02 +08:00 · 5258 次点击
    这是一个创建于 1808 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下个版本,船新的语法

    传送门

    差不多就是这样的

    record Point(int x, int y) { }
    

    效果类似于这样

    @lombok.Value
    public class Point {
    
    private int x;
    private int y;
    
    }
    

    有点像当年的 enum 语法糖


    大家觉得这个新 Feature 如何?

    22 条回复    2019-12-13 00:14:25 +08:00
    watsy0007
        1
    watsy0007  
       2019-12-12 14:45:58 +08:00
    资瓷
    cedoo22
        2
    cedoo22  
       2019-12-12 14:47:18 +08:00
    emmm, 可以减少代码量。。pojo 类直接全干掉 , 哈哈哈哈哈哈哈哈哈哈。
    BOSS: 小猴子,你这个月的工作量不够啊~~
    popesaga
        3
    popesaga  
       2019-12-12 14:50:42 +08:00
    groovy 就有这种写法吧,Java 现在越来越像其他 JVM 语言了
    la2la
        4
    la2la  
       2019-12-12 14:50:55 +08:00
    希望 5 年内我能用的上
    Mistwave
        5
    Mistwave  
       2019-12-12 14:51:09 +08:00 via iPhone
    和 Scala 的 case class 差不多?
    11ssss
        6
    11ssss  
       2019-12-12 15:14:23 +08:00
    有变化是好事 好不好用是另一方面了 目前的技术趋势 一定要多留几条后路
    lihongjie0209
        7
    lihongjie0209  
       2019-12-12 15:20:35 +08:00
    可以的, 把社区中的优秀实践( lombok )添加到语言中才能保证语言的活力
    dishonest
        8
    dishonest  
       2019-12-12 15:38:11 +08:00
    python 的 dataclass
    hahastudio
        9
    hahastudio  
       2019-12-12 15:39:23 +08:00 via Android
    梦回 Pascal
    BBCCBB
        10
    BBCCBB  
       2019-12-12 15:46:30 +08:00
    dataclass,

    感觉 class Point(int x, int y){} 比 record Point(int x, int y) {} 好嘛, 还不用加关键字.
    chendy
        11
    chendy  
       2019-12-12 15:48:48 +08:00
    类似 kotlin 的 data class ?
    同 4 楼,希望五年内能在公司项目用得上
    littleshy
        12
    littleshy  
       2019-12-12 15:50:26 +08:00
    C# 也是说了很久了。以前说 8 要加,现在不知道 9 有没有希望。
    littleshy
        13
    littleshy  
       2019-12-12 15:51:21 +08:00
    像 F#这些函数式的刚开始都有这语法。
    rockyou12
        14
    rockyou12  
       2019-12-12 15:56:01 +08:00
    scala 的 case class 和 kotlin 的 data class ?有当然很好,拼数据传数据方便得多。但我最想要的还是 kotlin 那种的 Null Safety,`?`用起来真的爽
    linghu1989122
        15
    linghu1989122  
       2019-12-12 16:28:54 +08:00
    还是喜欢 python 的语法
    Raymon111111
        16
    Raymon111111  
       2019-12-12 16:35:15 +08:00
    java 确实缺乏 data 结构

    这不光光是语法糖, 对于 jvm 来说, 专门有这种类也是有很多优化可以做的
    hyrepo
        17
    hyrepo  
       2019-12-12 16:36:05 +08:00 via iPhone
    自从上了 Kotlin 的车,越来越找不到用 Java 的理由…
    qwerthhusn
        18
    qwerthhusn  
       2019-12-12 16:38:19 +08:00
    相比这个,我更期待 Text Blocks,恨不得 11 就能有此功能
    optional
        19
    optional  
       2019-12-12 17:00:11 +08:00 via iPhone
    希望来个 value type
    conn4575
        20
    conn4575  
       2019-12-12 22:21:00 +08:00 via Android
    感觉还是 python 的最好用,话说为啥大家都一起加这个 feature
    luozic
        21
    luozic  
       2019-12-12 22:22:07 +08:00 via iPhone
    Java 有 struct 这东西? 没有做语法糖也能省不少行数。
    tigerfyj
        22
    tigerfyj  
       2019-12-13 00:14:25 +08:00 via Android
    还要看有没有自带的 builder 及其 API 丰富程度,否则结构复杂的时候就不好用了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2866 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:11 · PVG 17:11 · LAX 01:11 · JFK 04:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.