/** * A very interesting difference and speaks to Java's * pass-by-value and array-is-an-object-reference concepts. */
import java.util.Random;
public class Test {
public static void assignEntireArray(int[] values, int n) { Random generator = new Random(); int[] numbers = new int[values.length]; for (int i = 0; i < numbers.length; i++) { numbers[i] = generator.nextInt(n); } values = numbers; }
public static void assignEachElement(int[] values, int n) { Random generator = new Random(); for (int i = 0; i < values.length; i++) { values[i] = generator.nextInt(n); } }
public static void printArray(int[] values) { for (int i : values) { System.out.print(i + “ “); } System.out.println(); }
public static void main(String[] args) { int[] values = {1,2,3,4,5}; printArray(values);
assignEntireArray(values, 100); printArray(values);
assignEachElement(values, 100); printArray(values); } }