Почему мы не можем назначить две выводимые переменные как анонимный класс друг другу? [дубликат]
На этот вопрос уже есть ответ здесь:
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; | ^^
На основе журнала ошибок, почему Ява 10 назначить два предполагаемых var
как anonymous class
друг с другом, но он может сделать то же для других типов, таких как Long
, String
, и т. д.?