Scott Ambler が著書Java Coding Standardsで次のように述べていることに興味をそそられました。
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バージョンでコンパイルされていることを示す可能性のある変更は見つかりませんでした.
ターゲットとソース 1.2 を使用して Jre7 コンパイラでコンパイルしましたが、依然としてコンパイラ エラーが発生します。残念ながら、私は Java 1.1 コンパイラを持っていません: 9
私の質問は:
if(x = 0);
古いバージョンの Java コンパイラでコンパイルできましたか?