var x = new something();
我试图做到这一点,但 Eclipse 说
var 无法解析为类型
我可以在 Java 8 中使用什么类型?
以下两个都应该工作:
Something x = new Something();Object x = new Something();除了Somethingand之外Object,您应该能够使用任何Something扩展自的类或任何Something实现的接口(直接或间接)。
开始阅读 Java 类型系统的工作原理可能是一个好主意。
该关键字是在 Java 10 中添加的,它告诉编译器从赋值运算符var右侧的值推断类型。=
这意味着以下是等价的,即编译器将生成完全相同的字节码:
var x = new something();
something x = new something();
仅供参考: something是一种类型(类、接口、枚举),Java 命名约定是类型名称以大写字母开头,因此应命名为Something.
**Without var**
String str = "Chaman Bharti";
String substring = str.substring(7);
System.out.println(substring);//Bharti
System.out.println(substring.getClass().getTypeName());//java.lang.String
var 用于减少上一行中的锅炉代码我已经使用了两次字符串 RHS(右手边),而在下一行中我没有使用,因为编译器根据 LHS(左手边)的分配值进行推断。
**With var**
var str = "Chaman Bharti";
var substring = str.substring(7);
System.out.println(substring);//Bharti
System.out.println(substring.getClass().getTypeName());//java.lang.String