我有一個字符表,每個字符的int值都會受到影響。 (我會用這張表來計算一個條形碼校驗碼)。在Java中存儲常量
我想將此表存儲爲常量,請在java中執行此操作的最佳方法是什麼? (Enum,Hashmap ...)
任何幫助將不勝感激。
我有一個字符表,每個字符的int值都會受到影響。 (我會用這張表來計算一個條形碼校驗碼)。在Java中存儲常量
我想將此表存儲爲常量,請在java中執行此操作的最佳方法是什麼? (Enum,Hashmap ...)
任何幫助將不勝感激。
如果字母和代碼之間的映射與您自己的答案中一樣,那麼您不需要表格。你可以用簡單的翻譯方法做到這一點:
public static int letterToCode(char letter) {
if (letter >= '0' && letter <= '9') {
return letter - '0';
} else if (letter >= 'A' && letter <= 'Z') {
return letter - 'A' + 10;
} else {
throw new IllegalArgumentException("Invalid letter: " + letter);
}
}
public static char codeToLetter(int code) {
if (code >= 0 && code <= 9) {
return (char) ('0' + code);
} else if (code >= 10 && code <= 35) {
return (char) ('A' + code - 10);
} else {
throw new IllegalArgumentException("Invalid code: " + code);
}
}
這不會比在地圖上查找代碼或字母更糟糕。
您必須使用public static final DATA_TYPE VAR_NAME;
才能正常工作。最終導致變量不被操縱,但是你需要靜態變量,因爲如果你不這樣做,它會給你和錯誤。
你需要這張表是恆定的還是內容要保持不變? – Aakash
你可以使用公共靜態最終變量 –
取決於你打算如何使用它,如果你想通過char查找int值,使用'Map',如果你想通過名稱引用常量,使用'Enum'。 –