Xer*_*erg 17 java equals manual
我正在审查一本最佳实践手册和推荐编码java,我认为这是值得怀疑的.
Recomendation:
String variable;
"xx".equals(variable) // OK
variable.equals("xx") //Not recomended
Run Code Online (Sandbox Code Playgroud)
因为防止出现不受控制的NullPointerException
这是真的?
Mar*_*ers 26
这是一种非常常见的技术,如果变量为null而不是抛出a,则会导致测试返回false NullPointerException.但我想我会有所不同,并说我不会认为这是你应该遵循的建议.
但:
NullPointerException不一定是最糟糕的结果.假装一切都没关系,一直到最后都失败,这不是一个更好的选择.快速失败是好事.我个人并不认为这个技术的使用应在所有情况下是必需的.我认为应该由程序员根据具体情况做出判断.重要的是要确保以适当的方式处理空案例,以及如何执行此操作取决于具体情况.检查空值的正确处理可能是测试/代码审查指南的一部分.
Dav*_*d Z 10
是真的.如果variable是null在你的榜样,
variable.equals("xx");
Run Code Online (Sandbox Code Playgroud)
将抛出一个NPE,因为你不能equals在null对象上调用method().但
"xx".equals(variable);
Run Code Online (Sandbox Code Playgroud)
只会毫无错误地返回false.