Final array is being changed

Java’s keyword final, just like JS’ keyword const, when used on a variable (be it a field, a parameter or a local variable), permanently seals the value stored in that variable, disallowing any further re-assignment to it. :face_with_monocle:

By value, it’s not just numerical 1s, but also references (a.K.a. pointers or memory addresses). :open_mouth:

In the statement above, the memory address of the array object created on the right side is permanently assigned to the variable layout00. :sunglasses:

We can’t re-assign layout00 to some other array any longer. Not even a null. :zipper_mouth_face:

However, the contents of that array, which variable layout00 points to, are still free to modify. :scream: