首页 > Java > java教程 > Java 中如何将函数作为参数传递?

Java 中如何将函数作为参数传递?

Mary-Kate Olsen
发布: 2024-12-12 22:08:13
原创
984 人浏览过

How Can Functions Be Passed as Parameters in Java?

在 Java 中将函数作为参数传递

在 Java 中,可以利用 Java 8 的 lambda 表达式将函数作为参数传递。当使用包含单个抽象方法(SAM 类型)的接口时,可以替换 lambda 表达式,从而实现简洁的代码。例如:

interface MyInterface {
    String doSomething(int param1, String param2);
}

MyInterface myInterface = (p1, p2) -> { return p2 + p1; };
登录后复制

或者,方法引用可以提供更清晰的语法:

new Thread(this::someMethod).start();
登录后复制

Pre-Java 8 Approach

之前Java 8 中,命令模式通常用于将函数作为参数传递。这涉及将函数包装在 Callable 等接口中:

public T myMethod(Callable<T> func) {
    return func.call();
}
登录后复制

例如:

public int methodToPass() { return 3; }

public void dansMethod(int i, Callable<Integer> myFunc) { }
登录后复制

要调用该函数,将使用匿名内部类:

dansMethod(100, new Callable<Integer>() {
   public Integer call() {
        return methodToPass();
   }
});
登录后复制

请记住,这种方法本质上等同于其他语言中的函数指针。

以上是Java 中如何将函数作为参数传递?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板