[关闭]
@chris-ren 2016-03-23T03:26:09.000000Z 字数 739 阅读 1067

JEP 286局部变量类型推断调查结果

类型推断 JEP


摘要

Brian Goetz公布了局部变量类型推断调查结果,结果显示公众对采纳这一特性反响热烈。InfoQ对结果进行报道。

正文

Brian Goetz公布了局部变量类型推断调查结果,结果显示公众对采纳这一特性反响热烈。InfoQ对结果进行报道。这项调查包含了问卷问题的所有结果数据、其他的评论以及在身份验证时输入的信息。

回答者对Java语言采用该特性似乎非常喜爱,超过86%的人说他们支持Java语言增加局部类型推断,这样将能够看到JVM推断局部变量类型的能力,类似于C/C++中关键字auto或Swift和Scala语言关键字var:

public void aMethod() {
  var count = 0; // 推断为int类型
  var name = "Alex"; // 推断为String类型
}

大约84%的回答表明定义可变内容的变量用关键字var是恰当的,只有百分之几的回答者建议用auto更合适。

对于是否应该引入一个单独的关键字来表明推断值的类型是不可变的,调查结果是多元的。其他语言对选择结果有一定的影响,例如let(来自新兴语言如Swift和Rust)和var(来自Scala),或者仅用现有的final修饰符来表示不可变的值。结果不存在绝大多数,意见分布在三种选择之间,Scala的影响力推动了使用var的支持者领先于其他两个。80%的回答支持只引入var,至少在初期,引入其他的选择会导致更大程度的反感。似乎看起来单独使用var会带来最大的好处和最小的反感,而选择留在未来再开放。

后续调查已经建立,每个人可以根据早期的结果提供其他的反馈。

查看原文:JEP 286 Survey Results for Local Variable Type Inference

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注