gpt4 book ai didi

java - Java中的嵌套函数

转载 作者:IT老高 更新时间:2023-10-28 20:41:08 25 4
gpt4 key购买 nike

Java 编程语言是否有任何扩展可以创建嵌套函数?

在很多情况下,我需要创建仅在另一个方法或 for 循环的上下文中使用一次的方法。到目前为止,我一直无法在 Java 中实现这一点,尽管它可以在 JavaScript 中轻松完成。

例如,这不能在标准 Java 中完成:

for(int i = 1; i < 100; i++){
times(2); // Multiply i by 2 and print i
times(i); // Square i and then print the result

public void times(int num){

i *= num;
System.out.println(i);
}
}

最佳答案

Java 8 引入了 lambda。

java.util.function.BiConsumer<Integer, Integer> times = (i, num) -> {
i *= num;
System.out.println(i);
};
for (int i = 1; i < 100; i++) {
times.accept(i, 2); //multiply i by 2 and print i
times.accept(i, i); //square i and then print the result
}

() -> 语法适用于任何只定义一种方法的接口(interface)。所以你可以将它与 Runnable 一起使用,但它不适用于 List

BiConsumerjava.util.function 提供的众多功能接口(interface)之一.

值得注意的是,在底层,它定义了一个匿名类并实例化它。 times 是对实例的引用。

关于java - Java中的嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367714/

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