官方消息,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 5
Welcome to 2007 (C#)
Welcome to 2011 (C++) |
4
leeg810312 2018-03-15 23:45:47 +08:00 via Android 2
|
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 1
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 1
嫌 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
huiyifyj 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 1
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 哈哈哈
|