int x[][] = {{1, 2}, {3, 4}};
Since arrays are objects and 2-dimensional arrays are arrays of arrays, then how many objects are in this little piece of code?
Three. One for the top level array of int[] objects, and two int[] objects.
The elements (the integers themselves) are not objects.
My criterion for being "an object" is something that has java.lang.Object as a direct or indirect supertype. All array types are implicitly subtypes of Object, but int is a primitive data type ... and not a subtype of Object.
The other thing to note is that int[][] means "array of int[]" ... in a very literal sense. The int[] objects that you find in an int[][] are real, first-class objects. Your declaration
int[][] x = {{1,2}, {3,4}};
is a short-hand for this:
int[][] x = new int[2][]();
x[0] = new int[]{1, 2};
x[1] = new int[]{3, 4};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With