如何使用新的 Java 14 Switch 表达式将 switch case 声明为默认情况?
我想要的只是:
enum States {
PLAY, STOP
}
...
States state = ...
switch (state) {
case PLAY -> { run(); }
case STOP, default -> { stop(); }
}
Run Code Online (Sandbox Code Playgroud)
哪个不能编译。它使用 Java 17 Preview -Features 进行编译,但这不是解决方案吗?!我真的想避免使用未完成的功能。
它应该相当于旧式的 switch 语句:
switch (state) {
case PLAY: run(); break;
case STOP: // <-- No extra "break;". Intentional fall-through!
default: stop(); break;
}
Run Code Online (Sandbox Code Playgroud)
对于普通的 Java 14(或者可能是 17)来说这可能吗?
我知道目前不可能在不加载所有数据并在代码中手动执行的情况下在核心数据中找到最近的地理位置,但是至少可以使用简单的数字吗?例如,我可以有一个包含条目和值的表1, 2.5, 4,我可以搜索3.6并返回条目4吗?
我的意思是 fetchRequest,带有 NSPredicate,它已经在 SQL 中完成了工作,因此不必加载对象并将其转换为 Swift/Objective-C 对象,如果您有 100,000 个条目,这可能会非常昂贵。
我在 NSPredicate 中找不到任何相关内容,所以我认为这是不可能的?那是对的吗?!