int arr[][] = new int[2][];
I am a beginner in Java and I couldn't understand why this is valid while we initialize a multidimensional array in Java. And I was trying to print a multidimensional array using
System.out.println(Arrays.toString(arr));
and I couldn't see values; instead what it prints was object's address.
Object::toStringdocumentation. As to the initialization: If one initializes a multidimensional array, one only has to define outermost dimension. One should remember that a multidimensional array is just an array of arrays. Thus each inner array can have a different size.