迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中将方法作为参数传递

作者:迹忆客 最近更新:2023/10/19 浏览次数:

本教程介绍在 Java 中将方法作为参数传递。为了帮助你进一步理解此主题,我们提供了示例代码。

从头开始,Java 中没有将方法作为参数传递的概念。但是,我们可以通过使用 Java 8 中的 lambda 函数和方法引用来实现这一点。因此,在本文中,我们将更多地关注这两个主题,将方法作为参数传递。

lambda 函数或 lambda 表达式是 Java 8 中引入的一个概念。它是一种遵循函数风格方法编写函数的简洁方法。由于 Java 和 Java 8 被认为是面向对象的语言,因此它们支持编写代码的函数式方法。


在 Java 中使用 lambda 函数将方法作为参数传递

这是 lambda 的一个简单示例,我们使用它来迭代 ArrayList 元素。请注意,我们将 lambda 函数传递给 Iterable 接口的 forEach() 方法。ArrayList 类实现了 Iterable 接口。

所以这就是我们如何在 Java 中将方法(lambda 函数)作为参数传递:

public class SimpleTesting{
    public static void main(String[] args) {
        ArrayList<Integer> evens = new ArrayList<Integer>();
        evens.add(10);
        evens.add(20);
        evens.add(30);
        evens.add(40);
        evens.forEach( (n) -> { System.out.println(n); } ); // passing lambda as a parameter
    }
}

输出:

10
20
30
40

将方法作为参数传递给 Java 中的自定义方法

除了内置方法 forEach(),我们可以将它作为参数传递给自定义方法。在这个例子中,我们创建了一个接口 Doable,它有一个方法 doSomething()。在 SimpleTesting 类中,我们有一个调用 doSomething() 方法的方法 show()。在 main() 方法中,我们创建了一个 lambda 函数并将其传递给 show() 方法。

请注意,这是我们将方法(lambda 函数)作为参数传递给方法的行。

show("Hello", doa); // passing lambda function as parameter
interface Doable{
    String doSomething(String str);
}
public class SimpleTesting{
    public static void main(String[] args) {
        Doable doa = (str)-> str+" Rohan";
        show("Hello", doa); // passing lambda function as parameter
    }
    
    public static void show(String msg, Doable doa) {
        String greeting = doa.doSomething(msg);
        System.out.println(greeting);
    }
}

输出:

Hello Rohan

使用 Java 中的方法引用将方法作为参数传递

这是另一种可用于将方法作为参数传递给方法的解决方案。它还在 Java 8 版本中与 lambda 函数一起引入。在此示例中,我们使用方法引用概念将 show() 方法作为参数传递给 Thread() 构造函数,该构造函数在运行时执行。在此处查看代码示例的输出:

public class SimpleTesting{
    public static void main(String[] args) {
        // Passing method reference as a parameter
        Thread thread = new Thread(SimpleTesting::show);
        thread.start();
    }  
    public static void show() {
        System.out.println("My Thread");
    }
}

输出:

My Thread

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中扩展 Comparable

发布时间:2023/10/19 浏览次数:96 分类:Java

本教程展示了如何在 Java 中清除 StringBuilder 本指南将了解在 Java 中扩展 Comparable 接口。它写成 Comparable。它是一个由 Java 中的许多类实现的接口。

Java 中的 Predicate 是什么

发布时间:2023/10/19 浏览次数:106 分类:Java

本文介绍 Java 8 中的 Predicate 接口。本教程通过 Java 示例介绍 Predicate 接口。Predicate 是 Java 中的一个接口,用作 lambda 表达式或方法引用的目标赋值。

Java 输出参数

发布时间:2023/10/19 浏览次数:87 分类:Java

本教程演示了 Java 是否有类似 C# 的 out 参数关键字。Java 不支持像 C# 中的 out 和 ref 之类的关键字在方法中通过引用传递,因为值仅在 Java 中传递参数。该值甚至通过引用。

Java 中的 parameter 与 argument

发布时间:2023/10/19 浏览次数:79 分类:Java

本文介绍 Java 中 parameter 和 argument 的区别。本教程通过 Java 中的示例介绍 parameter 和 argument 之间的区别。

在 Java 中画一个圆

发布时间:2023/10/19 浏览次数:176 分类:Java

本教程介绍如何在 Java 中使用几个函数画圆在本文中,我们将介绍如何使用用于创建 GUI 组件的库 java.awt 和 javax.swing 在 Java 中绘制一个圆。

在 Java 中画一个三角形

发布时间:2023/10/19 浏览次数:124 分类:Java

本教程介绍了如何在 Java 中画一个三角形。在本文中,我们将学习如何在 Java 中绘制一个三角形。我们使用 AWT(Abstract Window Component Toolkit),这是最早的 Java 开发包,

用 Java 画一条线

发布时间:2023/10/19 浏览次数:86 分类:Java

本文介绍了如何使用 Applet 在 java 中绘制线条。Java 中的 Java.awt.Graphics 类构成了许多此类绘图和图形功能的基础。

Java 中的消息框

发布时间:2023/10/19 浏览次数:146 分类:Java

本文介绍如何在 Java 中显示消息框。Java 中的消息框是​​出现在屏幕上的弹出窗口,用于显示一些消息并等待用户确认。

使用 JProgressBar 类创建 Java 进度条

发布时间:2023/10/19 浏览次数:83 分类:Java

本教程演示了如何使用 JProgressBar 类创建 Java 进度条。本教程旨在了解我们如何在 SWING 应用程序中使用 JProgressBar 类创建 Java 进度条。我们还将学习如何根据进度条填充的级别来显示数字和文本

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便