Рубрики

Возврат нескольких значений в Java

Java не поддерживает возврат нескольких значений. Мы можем использовать следующие решения для возврата нескольких значений.

Если все возвращаемые элементы имеют одинаковый тип

Мы можем вернуть массив в Java. Ниже приведена Java-программа, демонстрирующая то же самое.

// Java-программа для демонстрации того, что метод
// может вернуть несколько значений одного типа
// возвращаем массив

class Test {

    // Возвращает массив такой, что первый элемент

    // массив - это + b, а второй элемент - ab

    static int[] getSumAndSub(int a, int b)

    {

        int[] ans = new int[2];

        ans[0] = a + b;

        ans[1] = a - b;

  

        // возвращаем массив элементов

        return ans;

    }

  

    // Метод драйвера

    public static void main(String[] args)

    {

        int[] ans = getSumAndSub(100, 50);

        System.out.println("Sum = " + ans[0]);

        System.out.println("Sub = " + ans[1]);

    }

}

Выход:

Sum = 150
Sub = 50

Если возвращаемые элементы имеют разные типы

Использование пары (если есть только два возвращаемых значения)
Мы можем использовать Pair в Java для возврата двух значений.

// Возвращаем пару значений из функции

import javafx.util.Pair;

  

class GfG {

    public static Pair<Integer, String> getTwo()

    {

        return new Pair<Integer, String>(10, "GeeksforGeeks");

    }

  

    // Возвращаем несколько значений из метода в Java 8

    public static void main(String[] args)

    {

        Pair<Integer, String> p = getTwo();

        System.out.println(p.getKey() + " " + p.getValue());

    }

}

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

Давайте посмотрим на следующий код.

// Java-программа для демонстрации того, что мы можем вернуть
// множественные значения разных типов путем создания класса
// и возвращаем объект класса.

  
// Класс, который используется для хранения и возврата
// три члена разных типов

class MultiDivAdd {

    int mul; // Хранить умножение

    double div; // Хранить деление

    int add; // Хранить дополнение

    MultiDivAdd(int m, double d, int a)

    {

        mul = m;

        div = d;

        add = a;

    }

}

  

class Test {

    static MultiDivAdd getMultDivAdd(int a, int b)

    {

        // Возвращаем несколько значений разных

        // типы, возвращая объект

        return new MultiDivAdd(a * b, (double)a / b, (a + b));

    }

  

    // Код драйвера

    public static void main(String[] args)

    {

        MultiDivAdd ans = getMultDivAdd(10, 20);

        System.out.println("Multiplication = " + ans.mul);

        System.out.println("Division = " + ans.div);

        System.out.println("Addition = " + ans.add);

    }

}

Выход:

Multiplication = 200
Division = 0.5
Addition = 30

Возвращение списка класса объекта

// Java-программа для демонстрации возврата
// несколько значений из функции, использующей
// список объектов класса.

import java.util.*;

  

class GfG {

    public static List<Object> getDetails()

    {

        String name = "Geek";

        int age = 35;

        char gender = 'M';

  

        return Arrays.asList(name, age, gender);

    }

  

    // Код драйвера

    public static void main(String[] args)

    {

        List<Object> person = getDetails();

        System.out.println(person);

    }

}

Выход:

[Geek, 35, M]

Эта статья предоставлена Twinkle Tyagi . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Возврат нескольких значений в Java

0.00 (0%) 0 votes