官方消息,Java 10 将在 2018 年 3 月 20 号正式发布。迄今为止,在官方放出了 Java 10 少数新特性里面,局部变量类型推断(local-variable type inference) 绝对是备受万众瞩目的。它将我们常常在 JS 里面使用的 var 变量引入到语言特性中,把我们从那些冗长的变量声明中解放出来。来吧,舒展你的右手,下面是你以前绝对没有写过的代码:
var users = new ArrayList<user>();
1 oska117 2018-03-15 23:35:49 +08:00 via Android 这样确实舒服,写着看着都不错 |
![]() | 2 murmur 2018-03-15 23:36:36 +08:00 感觉历史在错乱 js 想尽办法学高级语言搞强类型 java 在想尽办法摆脱强类型 |
![]() | 3 geelaw 2018-03-15 23:40:35 +08:00 ![]() Welcome to 2007 (C#) Welcome to 2011 (C++) |
4 leeg810312 2018-03-15 23:45:47 +08:00 via Android ![]() |
![]() | 5 orangeade 2018-03-16 00:11:49 +08:00 var 有了,val 呢 |
![]() | 6 twoyuan 2018-03-16 00:15:30 +08:00 Welcome to Kotlin |
7 gs139 2018-03-16 00:18:22 +08:00 不知道是喜是忧,对 ide 来说,变量声明并不麻烦 |
![]() | 8 Luckyray 2018-03-16 00:39:12 +08:00 via iPhone 只是个语法糖吧……少打了几个字 |
![]() | 9 kingcos 2018-03-16 00:45:01 +08:00 via iPhone Welcome to Swift |
10 night98 2018-03-16 01:18:23 +08:00 via Android java9 都还没普及。。。 |
11 lsmgeb89 2018-03-16 01:24:01 +08:00 看来 C++ 抄的比 Java 快一点,哈哈 |
![]() | 12 contmonad 2018-03-16 01:29:57 +08:00 via iPhone 试一下 var cSharp = new ArrayList<>(); |
![]() | 13 justinwu 2018-03-16 01:38:51 +08:00 C#里面敲了多少年的东西,Java 终于想起来抄了。 |
![]() | 16 jeremaihloo 2018-03-16 02:32:11 +08:00 via Android ![]() C#十年前的东西,java 现在才有…… |
![]() | 17 KuroNekoFan 2018-03-16 08:18:36 +08:00 via iPhone typescript/swift 这样的大概就是未来的主流语言吧…… |
![]() | 18 BBCCBB 2018-03-16 08:51:34 +08:00 什么时候搞个字符串字面量就好了 |
19 makazeu 2018-03-16 09:46:35 +08:00 via Android lombok 已经 |
![]() | 21 loshine1992 2018-03-16 09:54:22 +08:00 |
22 wayne712 2018-03-16 09:54:44 +08:00 2012 年 C# 5 Async Await 特性,java 要等到哪年 ? |
23 cstj0505 2018-03-16 10:00:00 +08:00 ![]() 嫌 java 麻烦的用 scala,写起来保证你爽到爆 |
24 ooo3o 2018-03-16 11:32:06 +08:00 也真难为了写 Java, C#已经愉快用了十多年的旧东西. |
![]() | 25 murmur 2018-03-16 11:34:00 +08:00 |
26 ooo3o 2018-03-16 11:36:00 +08:00 @murmur 开始 MS 是想和太阳一同发展 Java 的, J#就是个超集, 但太阳排斥 MS 这么搞, 还告了 MS, MS 只能放弃 J#, 完全独立自主弄出来 C#. |
![]() | 27 fengyj 2018-03-16 11:42:21 +08:00 via Android Java 要 js 化了? |
![]() | 28 breadenglish 2018-03-16 11:49:58 +08:00 Object users = new ArrayList<user>(); |
![]() | 29 jeremaihloo 2018-03-16 12:35:55 +08:00 via Android @murmur 很大程度上微软那个 CEO 鲍莫尔的问题 |
30 honeycomb 2018-03-16 12:53:26 +08:00 via Android @night98 从 java9 开始采取类似 Windows 10 快速发布机制,每半年到发布一个大版本,一部分的大版本属于 lts,会获得长期支持。 目前 jdk8 的公开支持会延续到 2019 年,那个时候第一个 lts ( jdk11 已经发布) |
![]() | 31 XIVN1987 2018-03-16 13:11:00 +08:00 final var 真丑!! |
![]() | 33 xAx 2018-03-16 15:03:17 +08:00 oracle 脑子坏了。把服务端的东西拿来学用户端的产品,刷版本号... jdk8 可以战十年,后面的那些不准备学了。 转 golang |
![]() | 34 A555 2018-03-16 16:12:17 +08:00 没有注释的代码可读性就更差了 |
36 GoodRainChen 2018-03-16 19:16:39 +08:00 @gs139 同意,在 ide 里写 java,各种声明一般 3 个字提示也该出来了,弄个 var 省不了多少功夫,还难看 |
![]() | 37 linbiaye 2018-03-16 19:24:32 +08:00 什么,java 到 10 了??? |
39 huclengyue 2018-03-16 20:00:26 +08:00 via Android @leeg810312 这点感觉跟 kotlin 很想。。 |
40 huclengyue 2018-03-16 20:02:09 +08:00 via Android @cstj0505 kotlin 可以试试。。目前 jvm 语言里感觉最好的一个 |
41 huclengyue 2018-03-16 20:03:43 +08:00 via Android @XIVN1987 val 代替 final var |
42 panpanpan 2018-03-16 21:10:25 +08:00 via iPhone ![]() IDEA Alt+Entry 了解一下,抱歉我从来不写变量定义。 |
![]() | 44 secondwtq 2018-03-17 00:16:34 +08:00 这个东西按照 C++ 的 jargon 来说叫 type deduction,我是觉得这个名字更合适一点的,因为 ML,Haskell,Scala 和 C++11/C#/Java 的所谓 type inference 完全是 different beasts,和 Java 这个类似的在 V 站主流热捧的 Golang 中也有体现 顺便 80 年代之前代表性的算法 Algorithm W 就已经提出了(根据 wikipedia 最早的 type inference 算法在 58 年就出现了),85 年 Miranda,90 年 Standard ML 标准,这个标准最后一次修订的时候我还在娘胎里 所以说 10 年不是总量,而是单位 当然看起来对于 Java 来讲,以世纪作为单位好像也没什么太大的关系 |
45 fox0001 2018-03-17 10:34:55 +08:00 via Android @breadenglish #28 哈哈哈 |