Wartości typu enum w bloku switch?

0

W kilku miejscach w internecie, choćby tu: Enum , spotkałem się z wyraźnym stwierdzeniem, że wartości typu enum można wstawić do bloku switch, są nawet podawane przykłady. Dlaczego zatem nijak nie mogę takiej operacji wykonać u siebie? Zostaję uraczony następującym błędem:

The enum constant <nazwa_wartości_typu_enum> reference cannot be qualified in a case label

Więc jak z tym w końcu jest? Można czy nie można?

0

no mozna, ale nie mozesz poprzedzac stalej enum nazwa typu np:
case PON:...
zamiast
case Dzien.PON:...
Komunikat jest dosc jasny chyba?

0
pikseloza napisał(a)

no mozna, ale nie mozesz poprzedzac stalej enum nazwa typu np:
case PON:...
zamiast
case Dzien.PON:...
Komunikat jest dosc jasny chyba?

Kurde, nie rozumiem, przecież nie mogę napisać samego PON, chyba żę robie to w ciele samego enum. Gdziekolwiek indziej w kodzie potrzebuję podać nazwę typu i nazwę stałej, żeby ją wykorzystać. No chyba że zrobię import static <nazwa typu="typu">, ale to powoduje po prostu, że kompilator wstawia nazwę typu za nas.

0
DooM77 napisał(a)

Kurde, nie rozumiem, przecież nie mogę napisać samego PON

Tu się mylisz.

public enum SimpleEnum {
	A, B
}
public class SimpleEnumTest {

	public static void main(String[] args) {
		SimpleEnum e = SimpleEnum.A;
		switch (e) {
			case A: // ...
			case B: // ...
			default: // ...
		}
	}
}
0

Rzeczywiście! :P Dzięki, Pikseloza, dzięki, Krzysiek!

1 użytkowników online, w tym zalogowanych: 0, gości: 1