如果块更好?
private static void checkStr(String str) {
if (str.equals("exit")) {
System.out.println("It is equal");
}
if ("exit".equals(str)) {
System.out.println("It is equal");
}
}
Run Code Online (Sandbox Code Playgroud)
第一种方法是给予保证金NullPointerExceptions.所以从我的观点来看,第二个更好.
对于常量的情况,您应该首选第二种方法而不是第一种方法.
"exit".equals(str)
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到详细的解释
我个人更喜欢另一种方法.Apache Commons - commons lang有ObjectUtils.equals(Object, Object).使用这种方法,即使使用空值,也始终是安全的.
来自文档:
比较两个对象是否相等,其中一个或两个对象可以为null.
Run Code Online (Sandbox Code Playgroud)ObjectUtils.equals(null, null) = true ObjectUtils.equals(null, "") = false ObjectUtils.equals("", null) = false ObjectUtils.equals("", "") = true ObjectUtils.equals(Boolean.TRUE, null) = false ObjectUtils.equals(Boolean.TRUE, "true") = false ObjectUtils.equals(Boolean.TRUE, Boolean.TRUE) = true ObjectUtils.equals(Boolean.TRUE, Boolean.FALSE) = false
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |