Вместо того, чтобы возвращать массив, содержащий два значения, или использовать универсальный 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());
}