首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 字符串比較最佳實踐:常量在前防止空指針異常

     編輯:程式設計綜合問答

兩種寫法

String s = "token";
// 寫法一
if (s.equals("token")) { ... }
// 寫法二
if ("token".equals(s)) { ... }

區別

場景寫法一寫法二
s == null拋出 NullPointerException安全返回 false
s != null正常比較正常比較
性能相同相同

推薦:常量在前

// 最佳實踐
if ("EXPECTED_VALUE".equals(userInput)) { ... }

// 判空輔助方法 (Java 7+)
if (Objects.equals(userInput, "EXPECTED_VALUE")) { ... }

擴展:其他類型

  • Integer:Integer.valueOf(100).equals(id) 或 Objects.equals(id, 100)。
  • Enum:MyEnum.VALUE == myEnum (引用比較安全) 或 MyEnum.VALUE.equals(myEnum)。

編碼規範

Alibaba Java 開發手冊、Google Java Style Guide 均明確要求:**常量/字面量放在 equals 左側**。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved