Java 保留类型名称“var”最佳实践?

ham*_*uki 5 java var effective-java java-10

不幸的是,Effective Java 中没有任何文章讨论保留类型名称“var”(因为它是在 java 10 中引入的)。

有一种说法是,尽可能使用接口作为类型(条款 64:通过接口引用对象)。但是使用时var

var list = new ArrayList<String>(); // infers ArrayList<String>

list属于类型ArrayList<String>

《Effective Java》指出,通过变量的实现来引用变量是一种不好的做法,因为它会使代码依赖于它。这只是我在代码中开始使用 var 时发现的一个烦恼。

问题:

使用保留类型名称“var”时是否有任何最佳实践?我什么时候应该使用它?我什么时候应该避免它?