首页 > Java > java教程 > 正文

如何使用匿名内部类或 Lambda 表达式模拟 Java 中的函数指针?

Patricia Arquette
发布: 2024-11-20 13:39:22
原创
634 人浏览过

How Can I Simulate Function Pointers in Java Using Anonymous Inner Classes or Lambda Expressions?

Java 中函数接口作为函数指针

在 Java 中,函数指针不可用,匿名内部类或 lambda 表达式是合适的替代方案.

匿名内部类

想象一下,您需要执行类似操作但在单行计算中略有不同的方法。要使用匿名内部类实现此功能:

  1. 定义一个包含您希望封装的函数的接口。
interface StringFunction {
    int func(String param);
}
登录后复制
  1. 创建一个接受接口的实例作为参数。
public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // Operations...
}
登录后复制
  1. 使用匿名内部类调用方法:
ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation...
    }
});
登录后复制

Lambda 表达式 ( Java 8 )

语法上更简单,您可以利用 lambda 表达式来实现相同的结果:

ref.takingMethod(param -> {
    // Implementation...
});
登录后复制

通过利用匿名内部类或 lambda 表达式,您可以在Java,增强代码的复用性和灵活性。

以上是如何使用匿名内部类或 Lambda 表达式模拟 Java 中的函数指针?的详细内容。更多信息请关注PHP中文网其他相关文章!

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