java如何返回两个值
在Java中,方法通常只能返回一个值,但可以通过以下方法实现返回多个值的效果:
使用数组或集合
将多个值封装到数组或集合中返回。适用于返回相同类型的值。
public static int[] getTwoValues() {
int a = 10;
int b = 20;
return new int[]{a, b};
}
使用自定义类
创建一个类来封装需要返回的多个值,尤其适用于不同类型的值。

class Pair {
int first;
String second;
Pair(int first, String second) {
this.first = first;
this.second = second;
}
}
public static Pair getTwoValues() {
return new Pair(10, "Hello");
}
使用现有容器类
利用Java提供的现成容器类如Pair(需引入Apache Commons Lang或JavaFX等库)或Map。
import org.apache.commons.lang3.tuple.Pair;
public static Pair<Integer, String> getTwoValues() {
return Pair.of(10, "Hello");
}
使用可变参数或对象数组
通过参数传递引用类型对象,在方法内修改其值。

public static void getTwoValues(int[] result) {
result[0] = 10;
result[1] = 20;
}
使用Java 14+的Record类
Java 14引入的Record类可以简洁地定义数据载体类。
record TwoValues(int first, String second) {}
public static TwoValues getTwoValues() {
return new TwoValues(10, "Hello");
}
选择方法时需考虑:
- 返回值的类型是否相同
- 是否需要保持值的不可变性
- 代码的简洁性和可读性






