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