Как вернуть несколько значений из функции 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); 
    }
}
0 0
Основы Java за 14 дней
  • 62 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию на Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки