Multiple Return ValuesReturn multiple values from methods. An Object array or custom object can return multiple values.
This page was last reviewed on Sep 10, 2023.
Multiple return values. A method is called. It returns 3 values—2 ints and a String. In Java we must use a class instance, an array or other collection to return these values.
With an object array, we can return many different types of elements. But the simplest and best solution involves a class. We can return a class with multiple values.
Object array example. Here we introduce a getSizes method that returns an Object array. It can return any number of elements, and these can have any type.
Object Array
Result The getSizes() method returns 3 values—an Int, a String and another Int.
import java.util.Arrays; public class Program { public static Object[] getSizes() { // Return 3 values from this method. // ... Return ints and strings. Object[] array = new Object[3]; array[0] = 10; array[1] = "cat"; array[2] = 30; return array; } public static void main(String[] args) { // Call method with multiple return values. Object[] sizes = getSizes(); System.out.println(Arrays.toString(sizes)); } }
[10, cat, 30]
Return class instance. Here we create a class instance inside a method and return that. The computeDog() method returns a Dog object.
Tip The Dog object has a weight (and Int) and a name (a String). The method returns these two values.
Tip 2 An object instance can be passed to the method, which then just sets fields. This can reduce allocations and promote object reuse.
class Dog { public int weight; public String name; } public class Program { public static Dog computeDog() { // Return multiple values in an object instance. Dog dog = new Dog(); dog.weight = 40; dog.name = "Spark"; return dog; } public static void main(String[] args) { Dog dog = computeDog(); // Print return values. int weight = dog.weight; String name = dog.name; System.out.println(weight); System.out.println(name); } }
40 Spark
For many return values, or a variable number of return values, an ArrayList is effective. Return an ArrayList from your method. A type like Integer (or Object) can be used.
ArrayList, int
A summary. In Java objects are meant to encapsulate data. So multiple return values are often placed in objects. With methods and logic, we have object-orientation.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Sep 10, 2023 (edit).
© 2007-2023 Sam Allen.