Перечисления в ошибке компиляции Java - PullRequest
4 голосов
/ 16 мая 2010

Я пытаюсь изучать Java снизу вверх, и у меня есть эта замечательная книга для чтения http://www.amazon.com/o/ASIN/0071591060/ca0cc-20. Теперь в книге я нашел пример объявления Enums внутри класса, но вне каких-либо методов, поэтому я попробовал:

Enum CoffeeSize { BIG, HUGE, OVERWHELMING }; 

В книге написано enum, и я получаю это сообщение компиляции Syntax error, insert ";" to complete BlockStatements

Являются ли перечисления важными для всех?

Ответы [ 3 ]

2 голосов
/ 16 мая 2010

Это правильный способ объявить enum внутри класса:

public class Main {
  enum Foo { One, Two, Three }

  public static void main(String args[]) {
    System.out.println(Foo.One);
  }
}

Вы используете ключевое слово enum, а не Enum, которое является суперклассом всех enum экземпляров.

1 голос
/ 16 мая 2010

Начиная с Java 5, enum является ключевым словом, поэтому использование заглавных букв важно.

Что касается того, нужно ли вам знать их или нет, это действительно зависит от вас. Они даже не были частью языка для нескольких версий, но они действительно хороши. Цитата из той же книги:

... вы можете гарантировать, что компилятор не даст вам присвоить что-либо для CoffeSize, кроме BIG, HUGE или OVERWHELMING.

Некоторых людей это не волнует, но я лично хотел бы, чтобы компилятор выполнил всю работу, которую я могу из этого извлечь.

(Кроме того, Java Tutorials - еще один отличный источник для изучения основ.)

0 голосов
/ 16 мая 2010

Удалить ';'. Вы объявляете Enum таким образом.

enum CoffeeSize { BIG, HUGE, OVERWHELMING }

Для получения дополнительной информации, пожалуйста, посетите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...