如何从Java方法返回2个值?

我试图从Java方法返回2个值,但出现这些错误。这是我的代码:

// Method code

public static int something(){

int number1 = 1;

int number2 = 2;

return number1, number2;

}

// Main method code

public static void main(String[] args) {

something();

System.out.println(number1 + number2);

}

错误:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - missing return statement

at assignment.Main.something(Main.java:86)

at assignment.Main.main(Main.java:53)

Java结果:1

回答:

不要返回包含两个值的数组或使用泛型Pair类,而应考虑创建一个代表要返回的结果的类,然后返回该类的实例。给班级起一个有意义的名字。与使用数组相比,此方法的好处是类型安全,这将使你的程序更易于理解。

注意:通用Pair类,如此处其他一些答案中所建议,也可以为你提供类型安全性,但不会传达结果表示的内容。

示例(不使用真正有意义的名称):

final class MyResult {

private final int first;

private final int second;

public MyResult(int first, int second) {

this.first = first;

this.second = second;

}

public int getFirst() {

return first;

}

public int getSecond() {

return second;

}

}

// ...

public static MyResult something() {

int number1 = 1;

int number2 = 2;

return new MyResult(number1, number2);

}

public static void main(String[] args) {

MyResult result = something();

System.out.println(result.getFirst() + result.getSecond());

}

以上是 如何从Java方法返回2个值? 的全部内容, 来源链接: utcz.com/qa/418731.html

回到顶部