Object.equals, primitive '==', and Arrays.equals ain't equal

from blog Psychosomatic, Lobotomy, Saw, | ↗ original
It is a fact well known to those who know it well that "==" != "equals()" the example usually going something like: String a = "Tom"; String b = new String(a); -> a != b but a.equals(b) It also seems reasonable therefore that: String[] arr1 = {a}; String[] arr2 = {b}; -> arr1 != arr2 but Arrays.equals(arr1, arr2) So far, so happy......