【发布时间】:2021-03-26 05:54:13
【问题描述】:
如何更改以下代码以删除 if-else 并改用 Java8 Optional
public class IfTest {
public static void main(String[] args) {
String foodItem = "Apple";
if(foodItem.equals("Apple") || foodItem.equals("A"))
foodItem = "Fruit";
else if(foodItem.equals("Potato") || foodItem.equals("P"))
foodItem = "Vegetable";
else
foodItem = "Food";
System.out.println(foodItem);
}
}
【问题讨论】:
-
你为什么要这样做?可选在这里显然是一个坏主意。也许你想要一个 switch 表达式。
-
我想知道是否有任何 Java8 功能可以取消 if-else 或 switch
-
@astar 您可以使用 Map,使用 Java 8 添加的
getOrDefault.这只是不清楚为什么您会使用正确的工具来完成这项工作(if/else 或 switch)。 -
看看这个baeldung.com/java-replace-if-statements,它可能对你有帮助