Я был заинтригован тем, что Скотт Эмблер в своей книге Стандарты кодирования Java говорит, и я цитирую:
2.5.2 Размещение констант в левой части сравнений
Поэтому он рекомендует использовать
if ( 1 == something ) {…} if ( 0 = x ) { …}
вместо
if ( something == 1 ) {…} if ( x = 0 ) { …}
МОЙ БОГ !!!
И мотивирует это тем, что:
«Хотя они оба эквивалентны, по крайней мере, при первом просмотре код слева компилируется, а код справа — нет».
Насколько мне известно (когда я начал программировать на Java, Java 14 уже использовалась), оба условия вызовут ошибку компилятора.
Начиная с оператора Ambler, я попытался найти, был ли когда-либо компилируемым синтаксис Java if ( x = 0 );
.
Можете ли вы помочь мне с этим? Я просмотрел разные версии JSR и не нашел никаких изменений, которые могли бы указывать на то, что этот фрагмент кода компилируется в других версиях Java.
Я скомпилировал с помощью компилятора Jre7, используя цель и источник 1.2, и все еще вызывает ошибку компилятора. К сожалению, у меня нет компилятора Java 1.1: 9
Мой вопрос:
if(x = 0);
Можно ли было компилировать старые версии компиляторов Java?
boolean
и целочисленными типами. Так что это просто дерьмо 13-летней давности (происходит, когда кто-то мысленно копирует и вставляет из своего опыта C, не приспосабливаясь к новому языку) - person Gyro Gearless   schedule 16.10.2013