我应该在Java 10中使用var吗?[已关闭]

2022-09-02 01:45:12

鉴于我不能对非可识别的类型(Nulls,匿名类,一些单方法类以及最重要的交叉类型)使用var。我最好不要使用它来提高可读性和一致性(因为它仅适用于本地类型)?

我有点觉得它会被滥用,

var a = someObj.getSomeValue().getSomethingElse().returnsSomething();

答案 1

虽然这可能主要是基于意见的,但我会说:不,它不是邪恶的。

仅当变量的类型在编译时已经清除时,才允许使用关键字。此外,它将生成相同的字节码,因此没有什么可担心的。var

在某些情况下,不允许使用 ,如 。这不会使它变得邪恶,而是好。如果不是这种情况,Java将不再被静态类型化。(但请注意,在您列出的大多数情况下,这是允许的。nullvar

另外,我看不出你的例子有任何问题。由于你宁愿成为现实世界中的东西,所以读者会清楚地知道这是一个人。.returnsSomething().getPerson()var


答案 2

推荐