So, this is the given code. public class Solution { public static void main(String[] args) { Integer[] array = new Integer[5]; fillArray(array, 3, 1, 3); System.out.println(Arrays.toString(array)); } public static void fillArray(Integer[] array, int value, int begin, int end) I already solved this but, my question is about the parameters, and main method. So, the parameters of the method uses Integer instead of int, same as the main method. I tried to run this on my intellij and used int instead of Integer for the array's. I noticed that it gave me two different results. Using Integer it returns "null" however, when you use int it returns 0. Both are references to an object since its an array. But, why does one return null and the other return 0. Also, why was Integer used instead of int in this example. When would be a good practice to use Integer instead of int. Thanks for your help