簡體   English   中英

如何退出 switch 表達式中的方法?

[英]How exit from method in a switch expression?

我正在研究 switch 表達式,我想知道如何將控制權傳遞給調用程序方法,因為“yield”剛剛從 switch 表達式中退出。 我找不到任何方法讓它表現得像經典的 switch 語句。

甚至有可能嗎?

更新:這是一小段代碼。

public static boolean isTimeToParty(DayOfWeek day) {
    boolean isParty = switch (day) {
        case MONDAY -> false;
        case TUESDAY -> {
            yield false; //return not allowed
        }
        case WEDNESDAY -> false;
        case THURSDAY -> false;
        case FRIDAY -> false;
        case SATURDAY -> true;
        case SUNDAY -> true;
    };
    return isParty;
}

我的意思是:如何避免為變量賦值然后調用 return [variable_name]? 我想同時返回值和退出開關。

提前致謝

只需return調用方法即可。 如果您只想在同一個 switch 中停止處理更多案例,請使用break

由於您不能在 switch 中使用returnbreak ,在您的情況下,直接使用return switch ...簡化會更容易:

public static boolean isTimeToParty(DayOfWeek day) {
    return switch (day) {
        case SATURDAY, SUNDAY -> true;
        default  -> false;
    };
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM