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