Как вернуть несколько значений из функции java

Аватар пользователя Сергей Якимович
Сергей Якимович
19 декабря 2022

В Java мы не можем вернуть несколько значений из метода, только одно. Но мы можем возвратить массив, список или мапу, содержащие нужные нам данные. Например :

public static List<Integer> func() {
    int a=1, b=2, c=3;
    return List.of(a, b, c);
}

Также можно описать класс, содержащий несколько переменных разных типов, и вернуть объект этого класса.

   // пусть нам необходимо вернуть число, строку и логическое значение
class MyClass {
    private int age;
    private String name;
    private boolean isMan;

    public MyClass(int age, String name, boolean isMan) {
        this.age = age;
        this.name = name;
        this.isMan = isMan;
    }

    public int getAge() { return age; }
    public String getName() { return name; }
    public boolean getIsMan() { return isMan; }
}

Получение объекта с несколькими параметрами из метода :

public class App {
    public static void main(String[] args) throws Exception {
        MyClass x = func(); // получаем объект нашего класса
        System.out.println(x.getAge() + " " + x.getName() + " " + x.getIsMan());
        // => 20 Ivan true
    }

    // метод, возвращающий несколько значений в виде объекта
    public static MyClass func() {
        // создаем объект нашего класса и возвращаем его
        return new MyClass(20, "Ivan", true); 
    }
}
1 0