在java枚举类型中使用+

时间:2013-09-14 22:31:34

标签: java enums

我对Java很新,我试图使用+字符作为枚举类型的一部分,但编译器抱怨语法,因为我认为它将其视为运算符。

我想做以下事情:

enum mediaType{

   FACEBOOK,GOOGLE+,TWITTER;

}

有什么想法吗?

谢谢!

4 个答案:

答案 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似乎是不可接受的。