在Java中存储常量

时间:2015-06-04 11:06:39

标签: java

我有一个字符表,每个字符都会影响一个int值。 (我将使用此表来计算条形码校验位。)

我想将这个表存储为常量,请在java中执行此操作的最佳方法是什么? (Enum,Hashmap ......)

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您必须使用public static final DATA_TYPE VAR_NAME;才能发挥作用。最终导致变量不被操纵,但你需要静态,因为如果你不这样做,它会给你和错误。

答案 1 :(得分:1)

如果字母和代码之间的映射与您自己的答案中的映射相同,那么您不需要表格。您可以使用简单的翻译方法完成此操作:

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);
    }
}

这不会比在地图中查找代码或字母更糟糕。