Home
Map
Multiple Return ValuesReturn multiple values from methods. An Object array or custom object can return multiple values.
Java
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
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
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).
Home
Changes
© 2007-2024 Sam Allen.