Java枚举中的特殊字符

Java枚举中的特殊字符,java,enums,special-characters,Java,Enums,Special Characters,当前正在尝试使用特殊字符,主要是“.”数字,但是,枚举似乎只需要字母。有没有办法使用特殊字符?目前正在尝试制作文件保护程序,许多文件类型中都有数字,例如: public enum FileType { 7z(".7z"), ace(".ace"), apk(".apk"), bz2(".bz2"), crx(".crx"), dd(".dd"), deb(".deb"), gz(".gz"), gzip(".gzip"),

当前正在尝试使用特殊字符,主要是“.”数字,但是,枚举似乎只需要字母。有没有办法使用特殊字符?目前正在尝试制作文件保护程序,许多文件类型中都有数字,例如:

public enum FileType {

    7z(".7z"),
    ace(".ace"),
    apk(".apk"),
    bz2(".bz2"),
    crx(".crx"),
    dd(".dd"),
    deb(".deb"),
    gz(".gz"),
    gzip(".gzip"),
    jar(".jar"),
    rar(".rar"),
    rpm(".rpm"),
    sit(".sit"),
    sitx(".sitx"),
    snb(".snb"),
    tar(".tar"),
    tar.gz(".tar.gz"),
    tqz(".tqz"),
    zip(".zip"),
    zipx(".zipx");

    public final String FILESUFFIX;

    FileType(String FileSuffix) {
        this.FILESUFFIX = FileSuffix;
    }

    public String getSuffix() {
        return FILESUFFIX;
    }
}

我已经看过了StackOverflow,但是,我还没有找到适合我的方法。我不知道如何做“映射”或其他花哨的东西,所以有没有其他方法可以简单地将类似于
mp4
的东西作为枚举?

在枚举7z中声明的这个值无效,就像不能声明名为7z的变量一样,因为这将是一个无效的java标识符

除此之外,您还可以使用下划线,更好的方法是使用大写字母

public enum FileType {

    _7Z(".7z"),
    _ACE(".ace"),
    _APK(".apk"),
    _BZ2(".bz2"),
    _CRX(".crx"),
    etc etc

枚举标识符如下所示:

标识符唯一允许的字符是所有字母数字字符([A-Z]、[A-Z]、[0-9])、“$”(美元符号)和“\”(下划线)

标识符不应以数字([0-9])开头。例如,“123geeks”是一个无效的java标识符

Java标识符区分大小写

在您的示例中,
mp4
是有效的标识符,但
7z
不是(因为它以数字开头)


注意:按照惯例,枚举标识符通常都是大写。

啊,谢谢!这实际上是一个非常聪明的解决方案!,和的链接。我认为所有枚举常量都应该使用大写名称,并使用
SEVEN_-ZIP
避免以数字开头。