enum + switch ( свой пример )

122
11 января 2020, 00:10
public enum Apple {
    SAL, TES, ULP, GESL
}

public class Test {
        public static void main(String[] args) {
            Apple ap = Apple.GESL;
            String text;
            switch (ap){
                case TES:
                    System.out.println("Неправильно - 1");
                    text = "Tes";
                    break;
                case SAL:
                    System.out.println("Неправильно - 2");
                    text = "Sal";
                    break;
                case ULP:
                    System.out.println("Неправильно - 3");
                    text = "Ulp";
                    break;
                case GESL:
                    System.out.println("Правильно");
                    text = "Gesl";
                    break;
            }
            System.out.println(text);  // Здесь компилятор ругается (Variable 'text' might not have been initialized) не понимаю почему ругается?
        }
    }

Не понимаю почему text в sout(e) подсвечивает красным и не работает программа, подсказка пишет:

Variable 'text' might not have been initialized

НО когда добавляем вот этот кусочек кода, default, то ошибка уходит:

                default:
                System.out.println("Ну как-то так");
                text = "default";
                break;

То есть вот так:

public class Test {
    public static void main(String[] args) {
        Apple ap = Apple.GESL;
        String text;
        switch (ap) {
            case TES:
                System.out.println("Неправильно - 1");
                text = "Tes";
                break;
            case SAL:
                System.out.println("Неправильно - 2");
                text = "Sal";
                break;
            case ULP:
                System.out.println("Неправильно - 3");
                text = "Ulp";
                break;
            case GESL:
                System.out.println("Правильно");
                text = "Gesl";
                break;
            default:
                System.out.println("Ну как-то так");
                text = "default";
                break;
        }
        System.out.println(text);
    }
}
Answer 1

Переменная, объявленная в методе должна быть инициализирована String text = null; или String text = "";

READ ALSO
Nuxt.js | Как отключить перезагрузку страницы при смене языка(меняется только урл)?

Nuxt.js | Как отключить перезагрузку страницы при смене языка(меняется только урл)?

На сайте присутствует видео фон, которой перезагружается постоянно при смене языка, так как nuxtjs обновляет router-view и добавляет transition, это напрягает

159
VAST не проигрывается видео после рекламы ReactJs

VAST не проигрывается видео после рекламы ReactJs

После произведения рекламы не запускается видео

129
ServiceWorker, PushManager - неопределенная ошибка

ServiceWorker, PushManager - неопределенная ошибка

Постигаю азы использования ServiceWorker и Push API - есть такой код:

150