gpt4 book ai didi

java - 类中的功能方法与普通方法

转载 作者:行者123 更新时间:2023-11-30 06:45:45 26 4
gpt4 key购买 nike

当不在方法本身中使用此函数方法时,使用函数方法(闭包)普通 java 方法 有什么区别。还有其他好处(例如更快的访问速度)吗?

版本 1:

public class Test{

// does not need to be consumer, can also be
// own function (see version 3)
public static final Consumer<User> addUser = s -> {
// the same logic as in version 2
};
}

版本 2:

public class Test{
public static final void addUser(User u) {
// the same logic as in version 1
}
}

版本 3:

public class Test{

Function<User, String> addUser= (User e)-> {/* the same logic as in version 2 */;return "saved";};
}

最佳答案

第一次调用 Consumer 时它会比较慢,因为您的 lambda 表达式将在下面旋转一个类,该类将使用您指定的逻辑实现 Consumer::accept提供,但这只会在第一次调用时发生一次。

例如,您可以传递 Consumer,但不能传递方法。好吧,有 MethodHandles 允许将指针/引用传递给方法。

关于java - 类中的功能方法与普通方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48410442/

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