我在其他地方找不到这个问题,所以我想我不妨问一下。是纯粹的审美吗?无论如何,它更快吗?两者之间的主要区别是什么?通过常规开关,我的意思是
switch(var){
case 1:
break;
}
通过规则切换,我的意思是
switch(var){
case 1 -> {}
}
我在其他地方找不到这个问题,所以我想我不妨问一下。是纯粹的审美吗?无论如何,它更快吗?两者之间的主要区别是什么?通过常规开关,我的意思是
switch(var){
case 1:
break;
}
通过规则切换,我的意思是
switch(var){
case 1 -> {}
}
在常规开关中,您可以省略
break
代码块末尾的执行。这允许失败,并且您可以使用相同的代码处理几种不同的情况。这个优点也是一个缺点,因为
break
很容易被遗忘,从而导致难以发现错误。因此,引入了规则切换,通过不同的语法,规则切换不需要 a
break
,从而防止出现这种情况。Java 正在将函数式编程融入到该语言中。第二个开关相当于 Ocaml 等函数式语言中的模式匹配。
下面是一个用 Ocaml 计算列表中元素数量的示例。
我们可以使用 Java 21 完成类似的事情。