@Test
  public void GetHashCodeOfArrays() {
    assertThat(Arrays.hashCode(new byte[] {1, 2, 3, 4})).isEqualTo(955331);
    assertThat(Arrays.hashCode(new short[] {1, 2, 3, 4})).isEqualTo(955331);
    assertThat(Arrays.hashCode(new int[] {1, 2, 3, 4})).isEqualTo(955331);
    assertThat(Arrays.hashCode(new long[] {1L, 2L, 3L, 4L})).isEqualTo(955331);
    assertThat(Arrays.hashCode(new float[] {0.0f, 1.0f, -1.0f, Float.NaN})).isEqualTo(265164673);
    assertThat(Arrays.hashCode(new double[] {0.0d, 1.0d, -1.0d, Double.NaN}))
        .isEqualTo(-1039788159);
    assertThat(Arrays.hashCode(new String[] {"a", "b", "c", "d"})).isEqualTo(3910595);
    assertThat(Arrays.hashCode(new char[] {'a', 'b', 'c', 'd'})).isEqualTo(3910595);
  }
The test serves two purposes:
<p>
Since Geode hashes rely heavily on the Java implementation hashes. If those were to differ
between version it could pose difficulties in routing or finding keys on the correct servers.
<p>
It also serves as a comparison for hashing in other languages that need to match the Java hash
algorithm for specific types.
geode-core/src/test/java/org/apache/geode/cache/util/ObjectsTest.java