/
Вопросы и ответы
/
Java
/

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

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

4 года назад

Человек-Молекула

Ответы

1

В 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); 
    }
}

3 года назад

Сергей Якимович