Scott Ambler 在他的《 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 版本上编译的更改。
我使用目标和源代码 1.2 使用 Jre7 编译器进行编译,但仍然引发编译器错误。不幸的是,我没有 Java 1.1 编译器:9
我的问题是:
if(x = 0);
是否可以与旧版本的 Java 编译器一起编译?