我对Java很新,我试图使用+字符作为枚举类型的一部分,但编译器抱怨语法,因为我认为它将其视为运算符。
我想做以下事情:
enum mediaType{
FACEBOOK,GOOGLE+,TWITTER;
}
有什么想法吗?
谢谢!
答案 0 :(得分:5)
是的,编译器会将+
视为运算符。但是,您可以在那里选择其他名称:
enum mediaType{
FACEBOOK,
GOOGLE_PLUS,
TWITTER;
}
如果您只想使用值GOOGLE+
,那么请使用类型String
的字段,存储值,以及参数化构造函数。
P.S:根据正确的命名惯例,枚举名称应为MediaType
。
答案 1 :(得分:5)
您不能在标识符中使用算术符号。您需要找到可以使用的内容,例如GOOGLE_PLUS
答案 2 :(得分:1)
也许阅读官方Java教程的命名约定部分将对您有所帮助:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html
您至少可以在枚举中定义private String myName = "Google+";
,并定义一个UI可以用来获取所需值的方法,而不仅仅是显示枚举变量本身。
public String myName() {
return myName;
}
答案 3 :(得分:1)
许多人认为你只能使用Java中的ASCII,就像C和C ++一样。
实际上你有完整的Unicode字符集。
这是非常好的Java:
enum Plus {
Google,
GooglePlus,
Googleᚋ,
Googleᐩ;
};
不是一个+(你在enum
中不能拥有它,因为它会与+
运算符混淆)但它仍然会带来加号的印象。
您似乎可以使用名为Ogham
的{{1}}字符looks有点像加号字符。或者,似乎加拿大音节最终加也是可以接受的,尽管其他possibilities似乎是不可接受的。