title: Why won't declaring an array final make it immutable in Java?
body: <p>Why won't declaring an array final make it immutable in Java? Doesn't declaring something final mean it can't be changed?</p>
  
  <p>From <a href="https://stackoverflow.com/questions/3700971/immutable-array-in-java">question related to immutable array</a> it's clear that declaring an array final doesn't make it unchangeable.</p>
  
  <p>The following is possible.</p>
  
  <pre><code>final int[] array = new int[] {0, 1, 2, 3};
  array[0] = 42;
  </code></pre>
  
  <p>My question is: What is the function of declaring final here then?</p>