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
避免以数字开头。