当前位置: 首页 > 面试题库 >

Java中的嵌套函数

傅浩漫
2023-03-14
问题内容

Java编程语言是否有任何扩展使创建嵌套函数成为可能?在很多情况下,我需要创建在另一个方法或for循环的上下文中仅使用一次的方法。到目前为止,尽管用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
}

() ->语法可在定义了一种方法的任何接口上使用。因此,您可以将其与一起使用,Runnable但不能与一起使用List

BiConsumer是java.util.function提供的许多功能接口之一。

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



 类似资料:
  • 问题内容: 我试图理解reactjs中的一些概念,但是我无法理解函数的嵌套。我创建了以下示例来调查我的担忧。 在下面的示例中,我呈现了一些内容,这些内容的价值来自一系列嵌套函数。但是,出现错误“未捕获的TypeError:无法读取未定义的属性’renderInnerContent’”。您能帮我了解发生了什么以及如何解决此问题吗?我的主要动机是了解如何将事物抽象为不同的功能。 问题答案: 未在该函数

  • 问题内容: 首先,我想创建一个具有以下结构的自定义用户库: src: 库包1 ClassName0.java LibA.pack2 ClassName1.java 我对此没问题。后来我想将此库导入另一个项目并调用 (同时使用pack1和pack2这两个类),由于要求全名,因此将失败,即 如何一次导入整个库以同时使用pack1和pack2这两个类? Ps绝对不是所谓的“嵌套程序包”,但我不知道该如何

  • 本文向大家介绍JavaScript中的函数嵌套使用,包括了JavaScript中的函数嵌套使用的使用技巧和注意事项,需要的朋友参考一下  在JavaScript1.2之前,函数定义是只允许在顶层全局代码,但1.2的JavaScript可以嵌套函数定义其他函数中也是可以的。 仍然存在的函数定义可以循环或条件之内不会出现限制。在函数定义这些限制只适用于函数声明与函数语句。 函数文本(在JavaScri

  • 问题内容: 我得到了一段我不明白的javascript代码: 如何在另一个函数中定义一个函数?我们可以从my()函数外部调用pad2()吗? 请给它一些照明。谢谢 问题答案: 函数是JavaScript中变量的另一种类型(当然有些细微差别)。在另一个函数中创建一个函数会更改该函数的作用域,就像改变变量的作用域一样。这对于与闭包一起使用以减少总体全局名称空间污染尤其重要。 除非已将另一个函数中定义的

  • Scala 函数 我们可以在 Scala 函数内定义函数,定义在函数内的函数称之为局部函数。 以下实例我们实现阶乘运算,并使用内嵌函数: object Test { def main(args: Array[String]) { println( factorial(0) ) println( factorial(1) ) println( factor