Я столкнулся неожиданно с оператором java + =.Java + = компилятор/ошибка jre?
По-видимому, это составляет:
int a = 0;
a += 3/2.0;
System.out.println(a); // outputs "1"
Хотя это не
int a = 0;
a = a + (3/2.0); // eclipse compiler error "Type mismatch: cannot convert from double to int"
System.out.println(a);
Является ли это ожидаемое поведение? Мне странно, что оператор + = не сообщает о «несоответствии типа», потому что это оператор «добавить и присваивать», где вы добавляете double, который дает двойной результат и затем присваивается переменной int. Вместо этого он молча выводит (и усекает) результат.
Посмотрите @ это [ответ] (http://stackoverflow.com/a/8710685/2024761) и это [тоже] (http://stackoverflow.com/a/608728/2024761). – SudoRahul
Я должен отрезать и отложить ответ оттуда, поэтому мой представитель отправляется в небо ;-) – TobiMcNamobi
если гослинг прочитает этот вопрос, тогда он сделает FACEPALMS: P, он называет его ошибкой в java, lol – anshulkatta