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.
Here we introduce a getSizes
method that returns an Object array. It can return any number of elements, and these can have any type.
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]
class
instanceHere we create a class
instance inside a method and return that. The computeDog()
method returns a Dog object.
Int
) and a name (a String
). The method returns these two values.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.
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.