【发布时间】:2018-10-07 00:04:07
【问题描述】:
鉴于我不能将 var 用于不可表示的类型(空值、匿名类、某些单一方法类以及最重要的相交类型)。我最好不要使用它以获得更好的可读性和一致性(鉴于它仅适用于本地类型)?
我觉得会被滥用,
var a = someObj.getSomeValue().getSomethingElse().returnsSomething();
【问题讨论】:
-
您可以将它用于不可表示的类型。
-
FWIW 我也不喜欢它,所以我的回答是你不应该使用它。就我而言,您应该始终知道类型,并且不写它可能不利于可读性。除此之外,还有许多更多有用的东西可以在语言级别上添加到 Java 中。就是说,在这些事情上我是个老家伙,显然会有其他人不同意,所以这真的只是基于意见,没有明确的答案,而不是这里的主题。
-
局部变量类型推断的风格指南: openjdk.java.net/projects/amber/LVTIstyle.html
-
在很多情况下,类型推断使代码更具可读性。当然,如果你编写了糟糕的代码(选择不当的变量名、超长的方法等),那么省略类型信息可能会使你的糟糕代码变得更糟。因此,编写好的代码,并在有帮助的地方使用它。
-
IMO 它给代码增加了歧义。所以不行。比如
var var = 10,这里的var推断为long。