gpt4 book ai didi

java - Java 8 中是否可以使用反向方法引用?

转载 作者:行者123 更新时间:2023-11-29 06:57:36 25 4
gpt4 key购买 nike

我知道 lambda method references .

但是,我想知道反过来是否可行,因为我有一个方法只是将其参数代理给 lambda:

Function<Arg, Result> lambda = (a) -> new Result(a);

public Result myMethod(Arg arg) {
return lambda.apply(a);
}

在谷歌上没有找到任何东西,所以我想这是不可能的。这是有道理的,因为毕竟,据我所知,lambda 只是整个接口(interface)的简写。方法和接口(interface)是不同的。但是你可以从一个方法中创建一个 lambda,所以也许你可以从一个 lambda 中创建一个方法?

最佳答案

您不能从 lambda 创建方法,因为正如您所说,lambda 不是方法,更重要的是您不能通过在运行时向类添加方法来动态更改类。这是 Java 类的基本设计不变性。可以使用您自己的实现动态响应接口(interface)的预定义方法,尽管它相当笨重。看看http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Proxy.html

关于java - Java 8 中是否可以使用反向方法引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31601857/

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