我今天看到了这段代码,想知道它们之间有什么区别
return (null==employeeName ? "": employeeName);
Run Code Online (Sandbox Code Playgroud)
和
return (employeeName == null ? "": employeeName);
Run Code Online (Sandbox Code Playgroud)
不再.
曾经是这样的情况,在C和C++的狂野时代,非布尔表达式在if语句中都没问题,因此没有区别,除非你犯了一个经典的程序员错误而忘记了一个等号:
employee = null
Run Code Online (Sandbox Code Playgroud)
会编译,但是
null = employee
Run Code Online (Sandbox Code Playgroud)
不会.
这在Java中无关紧要,因为Employee类型不是布尔值,而编译器(而不是语法)阻止您在脚下拍摄自己; 但是那些写作的人可能是他们写作时的习惯.
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |