lambda表达式 switch
时间: 2023-09-04 12:13:38 浏览: 67
在Java中,Lambda表达式可以用于简化代码和实现函数式编程的功能。然而,Lambda表达式本身并不能直接用于Switch语句。
在Java中,Switch语句通常用于根据不同的条件执行不同的代码块。如果你想要在Switch语句中使用Lambda表达式的话,你可以通过定义一个函数接口来实现类似的功能。
首先,你需要定义一个函数接口,该接口只包含一个抽象方法。然后,你可以使用Lambda表达式创建一个实现该接口的匿名内部类,并在Switch语句中调用该接口的方法。
以下是一个示例代码:
```java
interface MyInterface {
void doSomething();
}
public class Main {
public static void main(String[] args) {
int option = 1;
// 使用Lambda表达式创建匿名内部类
MyInterface myInterface = () -> {
相关问题
Boolean tmp;//临时变量,用来满足lambda表达式的要求 switch (type) { case "change": tmp= signal ? change.add(uniqueId) : change.remove(uniqueId); break; case "call": tmp= signal ? call.add(uniqueId) : call.remove(uniqueId); break; case "help": tmp= signal ? help.add(uniqueId) : help.remove(uniqueId); break; default: break; }
这段代码是一个 switch 语句,根据传入的 type 参数进行不同的操作。具体来说,如果 type 参数为 "change",那么会根据 signal 参数的值向 change 集合中添加或删除 uniqueId 元素;如果 type 参数为 "call",则会向 call 集合中添加或删除 uniqueId 元素;如果 type 参数为 "help",则会向 help 集合中添加或删除 uniqueId 元素。最后,根据 lambda 表达式的要求,将操作的结果存储在 tmp 变量中。如果 type 参数不为以上三种情况,则不进行任何操作。
jdk1.8switch语法
jdk1.7之前,switch语句只支持整型、字符型和枚举类型,而jdk1.7之后,switch语句支持字符串类型。在jdk1.8中,switch语句还支持lambda表达式,可以使用lambda表达式作为case的值。
例如:
```java
String str = "hello";
switch(str){
case "hello" -> System.out.println("Hello World!");
case "world" -> System.out.println("World Hello!");
default -> System.out.println("Default");
}
```
输出结果为:Hello World!