Java 10允许anonymous class
使用var
类似:
var a1 = new Object(){};
var a2 = new Object(){};
但是这个赋值会抛出一个错误:
a1 = a2;
jshell> a1 = a2; | Error: | incompatible types: $1 cannot be converted to $1 | a1 = a2; | ^^
根据错误日志,为什么 Java 10 不能将两个推断var
的 s分配anonymous class
给彼此,但它可以对 , 等其他类型做同样的Long
事情String
?