欢迎访问宙启技术站
智能推送

Java函数:如何返回多个值?常用的返回值方式有哪些?

发布时间:2023-06-30 19:42:05

Java中,函数只能返回一个值。但是可以通过一些方法实现返回多个值的效果。常用的返回多个值的方式有以下几种:

1. 使用数组:可以将多个值封装在一个数组中,然后将这个数组作为函数的返回值返回。

public static int[] getValues() {
    int[] values = new int[2];
    values[0] = 10;
    values[1] = 20;
    return values;
}

调用这个函数时,可以使用数组的索引来访问返回的多个值:

int[] result = getValues();
int value1 = result[0];
int value2 = result[1];

2. 使用自定义对象:可以创建一个包含多个值的自定义对象,然后将该对象作为函数的返回值返回。

public class MyObject {
    private int value1;
    private int value2;
    
    public MyObject(int value1, int value2) {
        this.value1 = value1;
        this.value2 = value2;
    }
    
    public int getValue1() {
        return value1;
    }
    
    public int getValue2() {
        return value2;
    }
}

public static MyObject getValues() {
    int value1 = 10;
    int value2 = 20;
    MyObject obj = new MyObject(value1, value2);
    return obj;
}

调用这个函数时,可以通过对象的方法来访问返回的多个值:

MyObject result = getValues();
int value1 = result.getValue1();
int value2 = result.getValue2();

3. 使用Java集合类:可以使用Java集合类(如List、Map等)来封装多个值,然后将该集合作为函数的返回值返回。

import java.util.ArrayList;
import java.util.List;

public static List<Integer> getValues() {
    List<Integer> values = new ArrayList<>();
    values.add(10);
    values.add(20);
    return values;
}

调用这个函数时,可以使用集合类的方法来访问返回的多个值:

List<Integer> result = getValues();
int value1 = result.get(0);
int value2 = result.get(1);

4. 使用Java标准库中的类:Java标准库中还提供了一些用于返回多个值的类,如Pair和Tuple等。可以使用这些类来返回多个值。

import javafx.util.Pair;

public static Pair<Integer, Integer> getValues() {
    int value1 = 10;
    int value2 = 20;
    return new Pair<>(value1, value2);
}

调用这个函数时,可以通过对象的方法来访问返回的多个值:

Pair<Integer, Integer> result = getValues();
int value1 = result.getKey();
int value2 = result.getValue();

这些是常用的返回多个值的方式,可以根据实际情况选择适合的方式来返回多个值。