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

參數類型選擇指南:判斷邏輯用 int/enum 還是 String?

     編輯:程式設計綜合問答

決策矩陣

場景推薦類型理由
二值狀態(開/關、是/否)boolean / bool語義明確,編譯器約束,內存最小
有限離散值(類型、狀態碼)enum (Java/C#) / enum class (C++11)類型安全,IDE 提示,避免魔術數字,可擴展屬性/方法
需持久化/網絡傳輸/異構系統交互String 或 int (協議約定)跨語言平台兼容,JSON 序列化自然
高性能熱點路徑int / byte無裝箱/解析開銷,CPU 緩存友好

最佳實踐

  1. 內部邏輯優先使用 枚舉,利用編譯期檢查與可讀性。
  2. 對外接口(API、數據庫、配置文件)按協議轉換為 String 或 int,在邊界層做映射(如 Enum.name() / Enum.ordinal())。
  3. 避免在業務代碼中散落 "work"/"play" 字面量,集中定義常量或枚舉。

代碼示例

// 內部枚舉
public enum ActivityType { WORK, PLAY }

// Controller 入參轉換
@PostMapping("/schedule")
public void schedule(@RequestParam String typeStr) {
    ActivityType type = ActivityType.valueOf(typeStr.toUpperCase());
    // 後續業務使用 type
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved