2013-09-14 3 views
2

Я довольно новичок в Java, и я пытаюсь использовать символ + как часть типа перечисления, но компилятор жалуется на синтаксис, потому что я считаю, что он видит его как оператор.Использование + в перечислении java типа

Я хотел бы сделать следующее:

enum mediaType{ 

    FACEBOOK,GOOGLE+,TWITTER; 

} 

Есть идеи?

Спасибо!

+3

'GOOGLE_PLUS' .. – Reimeus

ответ

5

Да, компилятор будет обрабатывать + в качестве оператора. Однако вы можете выбрать другое имя есть:

enum mediaType{ 
    FACEBOOK, 
    GOOGLE_PLUS, 
    TWITTER;  
} 

И если вы хотите использовать значение GOOGLE+ только, то есть поле типа String, хранение значения, а также параметризированный конструктор.

P.S: Согласно правильному именованию, имя переименования должно быть MediaType.

5

Вы не можете использовать арифметические символы в идентификаторах. Вы должны найти то, что вы можете использовать как GOOGLE_PLUS

1

Возможно чтение раздел официального Java Tutorial на соглашение об именовании поможет: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

Вы могли бы по крайней мере определить private String myName = "Google+"; внутри перечисление и определить метод, что Пользовательский интерфейс может использовать, чтобы получить нужное значение, а не просто отображать переменную enum.

public String myName() { 
    return myName; 
} 
+1

имя является окончательным методом для всех объектов перечисления Java. Используя имя() в качестве аксессора, чтобы получить что-либо другое, имя значения перечисления невозможно. –

+0

@BrentWorden - неудивительно, что это звучало знакомо. Ред. –

1

Многие люди считают, что вы ограничены ASCII на Java, как C и C++.

На самом деле у вас есть полный набор символов Юникода.

Это вполне хороший Java:

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

Не совсем + (что вы не можете иметь в enum, потому что это будет путать с оператором +), но он все равно будет нести впечатление плюс.

Кажется, вы можете использовать символ Ogham под названием muin, который looks немного напоминает символ плюса. Альтернативно, кажется, что окончательный канадский силлабик плюс также приемлем, хотя ряд других possibilities, по-видимому, не приемлем.

Смежные вопросы