gpt4 book ai didi

java - lambda 函数不起作用

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

使用这个

private static void method (MyClass mc, int num){
System.out.println(mc.operation(num));
}
private static interface Exec{
public int operation(int num);
}
static abstract class MyClass implements Exec{}

我可以使用调用该方法

method(new MyClass(){
public int operation(int num) {return num*2;}
}, 15);

但是当我使用 lambda method(a->a*2, 15); 时,我有 2 个错误:

The target type of this expression must be a functional interface

The method ... is not applicable for the arguments (( a) - > {}, int)

最佳答案

Lambda 只能实现接口(interface),它们不能扩展抽象类。如果您的方法有签名

public static void method(Exec mc, int num)

那么它可能会起作用。我强烈怀疑这两个错误都是由该问题造成的。

关于java - lambda 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353915/

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