Mencoba memahami ekspresi sakelar dan menghasilkan kode berikut. Sebenarnya saya mendapatkan kesalahan "bukan pernyataan" untuk semua kombinasi "break - String". Apa yang saya lakukan salah? ...

1
vdmclcv 5 April 2021, 15:33

2 jawaban

Jawaban Terbaik

Kata kunci yang benar untuk digunakan adalah yield untuk mengembalikan nilai dalam ekspresi switch: itu diperkenalkan sebagai peningkatan di JDK 13. Atau karena ekspresi Anda semuanya sederhana, Anda dapat menggunakan notasi panah steno:

String i = switch(value) {
    case 0 -> "Value is 0";
    case 1 -> "Value is 1";
    case 2 -> "Value is 2";
    default -> "Unknown value";
};
3
M A 5 April 2021, 12:45

Untuk JDK < 13

    String i;
    switch(value) {
        case 0:
            i = "Value is 0";
            break;
        case 1:
            i = "Value is 1";
            break;
        case 2:
            i = "Value is 2";
            break;
        default:
            i = "Unknown";
    };

Untuk JDK > 13:

String i = switch(value) {
    case 0 -> "Value is 0";
    case 1 -> "Value is 1";
    case 2 -> "Value is 2";
    default -> "Unknown";
};

Contoh Anda - adalah kombinasi dari pernyataan dan ekspresi sitch :)

-2
Yegorf 5 April 2021, 12:59