gpt4 book ai didi

java - 不使用 lambda 实现 `IntegerMath addition` 和 `IntegerMath subtraction` 吗?

转载 作者:行者123 更新时间:2023-11-30 07:30:38 24 4
gpt4 key购买 nike

我目前正在学习java中的Lambda概念,并且遇到了以下代码。 IntegerMath 加法IntegerMath 减法 使用 lambda 定义。但是,我只是好奇如何在不使用 lambda 的情况下实现 IntegerMath 加法和 IntegerMath 减法?如果建议能附上一些代码那就太好了!预先感谢您的帮助!

public class Calculator {

interface IntegerMath {
int operation(int a, int b);
}

public int operateBinary(int a, int b, IntegerMath op) {
return op.operation(a, b);
}

public static void main(String... args) {

Calculator myApp = new Calculator();
IntegerMath addition = (a, b) -> a + b;
IntegerMath subtraction = (a, b) -> a - b;
System.out.println("40 + 2 = " +
myApp.operateBinary(40, 2, addition));
System.out.println("20 - 10 = " +
myApp.operateBinary(20, 10, subtraction));
}
}

最佳答案

您的 lambda在功能上相当于 anonymous classes就像,

IntegerMath addition = new IntegerMath() {
@Override
public int operation(int a, int b) {
return a + b;
}
};
IntegerMath subtraction = new IntegerMath() {
@Override
public int operation(int a, int b) {
return a - b;
}
};

关于java - 不使用 lambda 实现 `IntegerMath addition` 和 `IntegerMath subtraction` 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36193273/

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