Multiple Return Values in Java

Java has built-in support for returning multiple values from a method using custom objects or arrays. This feature is often used to return both result and error values from a method.

import java.util.Arrays;

public class MultipleReturnValues {

    // This method returns an array of two integers
    public static int[] vals() {
        return new int[]{3, 7};
    }

    public static void main(String[] args) {
        // Here we use the returned array and assign its values
        int[] result = vals();
        int a = result[0];
        int b = result[1];
        System.out.println(a);
        System.out.println(b);

        // If you only want a subset of the returned values,
        // you can ignore some values by not assigning them
        int c = vals()[1];
        System.out.println(c);
    }
}

To run the program, compile and execute it using the javac and java commands:

$ javac MultipleReturnValues.java
$ java MultipleReturnValues
3
7
7

In Java, we don’t have direct support for multiple return values like in some other languages. However, we can achieve similar functionality by returning an array or a custom object. In this example, we used an array to return multiple values.

The vals() method returns an array of two integers. In the main method, we demonstrate how to use these returned values:

  1. We first capture all returned values into an array and then assign them to individual variables.
  2. We then show how to access only a subset of the returned values by directly accessing the array element we’re interested in.

Note that Java doesn’t have a built-in way to ignore values (like the blank identifier _ in some other languages), so we simply don’t assign the values we don’t need.

This approach provides a way to return and handle multiple values from a method, which can be useful in various scenarios, such as returning both a result and an error status.