gpt4 book ai didi

java - 仅使用 java.util 实现无需 "switch"和 "if"语句的类似开关构造的 Java 8 功能方法是什么

转载 作者:行者123 更新时间:2023-12-01 17:54:01 25 4
gpt4 key购买 nike

我编写了下一个代码,没有使用 if 语句并创建自己的功能 API。它会检查一些条件。

import java.util.*;

public class Test {
public static void main(String[] args) {
String smth = new Random().nextBoolean() ? "something" : null;

Optional.ofNullable(smth)
.filter(i -> !i.isEmpty())
.<Runnable>map(i -> () -> System.out.println("Success " + i))
.orElse(() -> System.out.println("error"))
.run();
}
}

如何仅使用 java.util.* 实现 switch 语句?

最佳答案

简单化:

new Runnable[] {
() -> System.out.println("0"),
() -> System.out.println("1"),
() -> System.out.println("2")
}[i].run();

已经有用:

Map<String, Runnable> map = ImmutableMap.<String, Runnable>builder()
.put("0", () -> System.out.println("0"))
.put("1", () -> System.out.println("1"))
.build();
map.getOrDefault("2", () -> System.out.println("rest")).run();

但是,要玩函数式编程,最好尝试真正的函数式编程语言。

关于java - 仅使用 java.util 实现无需 "switch"和 "if"语句的类似开关构造的 Java 8 功能方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46912304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com