迹忆客 专注技术分享

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

在 Java 函数中返回两个值

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

在 Java 中,没有将两个值返回给函数的特权。解决多值返回带来的问题,可以通过创建一个用户定义的类来存储输出,或者使用内置的数据类型如 ArrayPair(如果只有两个值需要返回),HashMapString Array


在 Java 中使用 ArrayList 类返回多个值

下面是演示返回两个以上值的 Java 函数的小代码块。

import java.util.ArrayList;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> list = callFunction();
        list.forEach(System.out::println);
    }

    private static ArrayList<String> callFunction() {
        return new ArrayList<>(Arrays.asList("Hi", "Hello"));
    }
}

在上面的代码中,定义了一个方法来理解 Java 中的返回功能。callFunction 方法是从 main 函数或驱动程序类调用的;它是 JavaReturnTwoValues 类私有的。

在函数定义中,一个 ArrayList 对象最初使用两个值进行实例化。公共类构造函数中允许使用这些值。使用 Arrays.asList() 函数允许内联实例化,因此,在声明时定义值。

静态 asList 方法返回指定为参数的已定义列表。return 关键字后面总是接受一个参数。如果指定了多个参数,则会引发编译时错误问题。

函数的值保存在 list 局部变量中。在局部变量上,调用 forEach() 方法。这个指定的方法采用一个 Consumer 实例,一个具有单个 accept 进程的功能接口。这意味着它只消耗值或类,不返回任何东西。

因此,该语句从列表实例中按顺序发出元素,而 forEach 方法使用这些元素在控制台上打印值。:: 是一个方法引用运算符,类似于 lambda 表达式,a-> System.out.println(a)

上面代码块的输出如下所示。

Hi
Hello
World

在 Java 中使用 Pair 类返回两个值

下面是使用用户定义的 Pair 类来理解其功能的代码块。

public class Main {
    public static void main(String[] args) {
        Pair<String, String> pair = callPairFunction();
        System.out.println(pair.getKey() + " " + pair.getValue());
    }

    private static Pair<String, String> callPairFunction() {
        return new Pair<String, String>("Key", "I am value");
    }
}

class Pair<T1, T2> {
    private final T1 key;
    private final T2 value;

    public Pair(T1 first, T2 second) {
        this.key = first;
        this.value = second;
    }

    public T1 getKey() {
        return key;
    }

    public T2 getValue() {
        return value;
    }
}

在上面的程序中,定义了两个类:一个是保存 main 或驱动程序函数的公共类,另一个是用户定义的 Pair 类,用于在内部说明 pair 的功能。

驱动程序类具有调用函数和值操作过程的代码。callPairFunction 是一个私有方法,它返回一个 Pair 用户定义的数据类型。该类被声明为存储一对值,即键及其值。

在主类下面是一个用户定义的类,Pair<T1, T2>。它通常被定义为 Java 中 Generics 的概念并在其上工作。参数 T1T2 是通用数据类型,这意味着它们可以采用传递的数据类型的形式。在我们的例子中,字符串被传递,所以 T1T2 变成了 String 类型。

该类有一个公共构造函数,它使用传递的值实例化局部变量。使用公共 getKeygetValue 方法,在构造函数中实例化后返回键和值。

callPairFunction 方法中,使用 new 关键字返回 Pair 类的一个实例。该语句调用类的公共构造函数并设置键和值变量。返回的实例用于检索 Pair 类左侧和右侧的值。

下面是上面代码中定义的输出。

Key I am value

值得注意的是,org.apache.commons.lang3.tuple 包也提供了一个类似的内置类供使用。Pair 是包中存在的一个类,用于保存现有的函数和操作以处理值。

通常可以使用预定义的类来避免编写繁琐的代码和创建新的 Pair 类的开销。此处显示了要注入项目的依赖关系。

<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-configuration2</artifactId>
            <version>2.7</version>
</dependency>

上一篇:在 Java 的构造函数中初始化数组

下一篇:没有了

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

本文地址:

相关文章

Java 中将数组传递给方法

发布时间:2023/09/17 浏览次数:114 分类:Java

本文介绍如何将数组传递给 Java 中的方法。我们还列出了一些示例代码以帮助你理解该主题。Java 是一种强大的面向对象的编程语言;它是一种通用编程语言,可用于各种目的。让我们学习 Ja

Java 中的数组范围

发布时间:2023/09/17 浏览次数:170 分类:Java

完成数组切片以从现有数组中获取一系列元素。这就像从给定数组中提取子数组。本文介绍了如何从现有数组中获取一系列元素。

Java 中的打乱数组

发布时间:2023/09/11 浏览次数:173 分类:Java

本教程演示了如何在 Java 中打乱数组。

克隆 Java 数组

发布时间:2023/09/11 浏览次数:67 分类:Java

本教程将演示 Java 数组的不同 Clone 方法。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便