JEP 359: Records, Java 的新语法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cbdy
V2EX    Java

JEP 359: Records, Java 的新语法

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

    下个版本,船新的语法

    传送门

    差不多就是这样的

    record Point(int x, int y) { } 

    效果类似于这样

    @lombok.Value public class Point { prvate 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
    资瓷
    dr1q65MfKFKHnJr6
        2
    dr1q65MfKFKHnJr6  
       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     Solana     3142 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 11:24 PVG 19:24 LAX 03:24 JFK 06:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86