📅  最后修改于: 2023-12-03 14:56:18.152000             🧑  作者: Mango
在编写Java程序时,有时我们需要返回多个值而不是一个。Java方法只能够返回一个值。然而,我们有许多方法可以用来返回多个值,其中一些包括:
使用元组(Tuple)
返回数组(Array)
自定义类
元组是包含多个值的单个对象。Java中的元组不是原生的,但可以使用库类来完成。以下是使用javatuples库的例子:
import org.javatuples.*;
public class Example {
public static void main(String[] args) {
// create a tuple of three elements
Triplet<String, Integer, Double> triplet = new Triplet<>("Hello", 1, 3.14);
// use the elements
String s = triplet.getValue0(); // "Hello"
Integer i = triplet.getValue1(); // 1
Double d = triplet.getValue2(); // 3.14
}
}
在这个例子中,我们创建了一个元组,其中包含一个字符串,整数和一个双精度浮点数。然后,我们可以通过调用getValue0(),getValue1()和getValue2()方法来访问每个元素。
Java中的另一种方法是使用数组来返回多个值。以下是一个例子:
public class Example {
public static int[] foo() {
int[] result = {1, 2, 3};
return result;
}
public static void main(String[] args) {
int[] myArray = foo();
for (int i : myArray) {
System.out.println(i);
}
}
}
在这个例子中,我们定义了一个名为“foo”的静态方法,该方法返回一个包含3个整数的数组。在main()方法中,我们调用foo()方法并将其结果存储在“myArray”变量中。然后,我们遍历myArray并打印每个整数。
Java中的另一种方法是创建一个自定义类,其中包括多个属性。以下是一个例子:
public class Example {
private String name;
private int age;
private double weight;
public Example(String name, int age, double weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getWeight() {
return weight;
}
public static void main(String[] args) {
Example example = new Example("John", 30, 75.0);
String name = example.getName(); // "John"
int age = example.getAge(); // 30
double weight = example.getWeight(); // 75.0
}
}
在这个例子中,我们定义了一个名为“Example”的类,该类具有“name”,“age”和“weight”属性,并且具有一个构造函数和3个getter方法。在main()方法中,我们创建一个Example对象并从中获取每个属性的值。
以上是三种方法,可以使用它们来在Java中返回多个值。选择哪种方法取决于具体情况,但通常元组和自定义类都可以更好地表示多个值的含义。