2

我对 Java 还很陌生,我正在尝试将 + 字符用作枚举类型的一部分,但是编译器抱怨语法,因为我相信它将它视为一个运算符。

我想做以下事情:

enum mediaType{

   FACEBOOK,GOOGLE+,TWITTER;

}

有任何想法吗?

谢谢!

4

4 回答 4

5

是的,编译器会将+其视为运算符。但是,您可以在那里选择不同的名称:

enum mediaType{
    FACEBOOK,
    GOOGLE_PLUS,
    TWITTER;    
}

如果你只想使用值GOOGLE+,那么有一个类型的字段String,存储值,还有一个参数化的构造函数。

PS:根据正确的命名约定,枚举名称应该是MediaType.

于 2013-09-14T22:33:28.883 回答
5

您不能在标识符中使用算术符号。您需要找到可以使用的东西,例如GOOGLE_PLUS

于 2013-09-14T22:33:37.477 回答
1

也许阅读有关命名约定的官方 Java 教程部分会对您有所帮助:http: //docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

您至少可以在private String myName = "Google+"; 枚举内部定义一个,并定义一个 UI 可以用来获取您想要的值的方法,而不仅仅是显示枚举的变量本身。

public String myName() {
    return myName;
}
于 2013-09-14T22:34:57.990 回答
1

许多人认为您在 Java 中仅限于 ASCII,就像 C 和 C++ 一样。

实际上,您拥有完整的 Unicode 字符集。

这是非常好的Java:

enum Plus {
  Google,
  GooglePlus,
  Googleᚋ,
  Googleᐩ;
};

不完全是 +(你不能在 an 中使用,enum因为它会与+运算符混淆),但它仍然会带有加号的印象。

看来您可以使用看起来有点像加号的字符调用Ogham。或者,似乎加拿大音节结尾加号也是可以接受的,尽管其他一些可能性似乎不可接受。muin

于 2013-09-14T22:58:46.707 回答