[英]Special Characters in Java Enums
目前正在嘗試使用特殊字符,主要是“.” 一個數字,但是,枚舉似乎只需要字母。 有沒有辦法使用特殊字符? 目前正在嘗試制作一個文件保護程序,許多文件類型中都有數字,例如:
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標識符 https://docs.oracle.com/cd/E19798-01/821-1841/bnbuk /index.html
可以使用下划線代替,更好的方法是使用UPPER_CASE
public enum FileType {
_7Z(".7z"),
_ACE(".ace"),
_APK(".apk"),
_BZ2(".bz2"),
_CRX(".crx"),
etc etc
package com.ecom.test;
enum SpecialChars {
PIPELINE_SYMBOL("|"), FORWARD_SLASH("/");
private String value;
private SpecialChars(String value) {
this.value = value;
}
public String toString() {
return this.value; // will return , or ' instead of COMMA or APOSTROPHE
}
}
public class Test1 {
public static void main(String[] args) {
System.out.println(SpecialChars.PIPELINE_SYMBOL);
System.out.println(SpecialChars.FORWARD_SLASH);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.