首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java 14开关-默认情况下的表达式

Java 14开关-默认情况下的表达式
EN

Stack Overflow用户
提问于 2022-03-29 15:17:28
回答 1查看 470关注 0票数 3

如何使用新的Java 14开关表达式将开关大小写声明为默认值?

我只想:

代码语言:javascript
运行
复制
enum States {
    PLAY, STOP
}
...
States state = ...

switch (state) {
    case PLAY -> { run(); }
    case STOP, default -> { stop(); }
}

这并不能编译。它使用Java17 Preview-Features,进行编译,但这不是解决方案吗?!我真的想避免使用未完成的特性。

它应该等效于旧风格的开关语句:

代码语言:javascript
运行
复制
switch (state) {
    case PLAY: run(); break;
    case STOP: // <-- No extra "break;". Intentional fall-through!
    default: stop(); break;
}

对于普通Java 14 (或者17)来说,这是可能的吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-29 15:44:42

不要认为这是可能的。另一种选择是在这两种情况下只包括stop():

代码语言:javascript
运行
复制
switch (state) {
    case PLAY -> run();
    case STOP -> stop();
    default -> stop();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71664687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档