Arrays2 { public static void reverse(final double[] array) { reverse(array, 0, array.length); } private  Arrays2(); static void copy(final double[] sourceArray,
            final double[] destinationArray, final int length); static void reverse(final double[] array); static void reverse(final double[] array, final int start, final int n); static void reverse(final int[] array); static void reverse(final int[] array, final int start, final int n); static void reverse(final Object[] array); static void reverse(final Object[] array, final int start, final int n); static void swap(double array[], int a, int b); static void swap(int array[], int a, int b); static void swap(Object array[], int a, int b); static boolean isNullOrEmpty(Object[] array); static boolean isNullOrEmpty(double[] array); static boolean isNullOrEmpty(int[] array); static T[] copyOf(T[] original); static T[] concat(T[] first, T[] second); static double[] concat(double[]... arrays); static double[] compact(final double[] array); static void shift(double[] array, int shiftsize); static void shift(double[] array, int shiftsize, int fromIndex, int toIndex); static boolean isArray(Object o); static boolean arrayEquals(T oldValue, T newValue); static List<T> unmodifiableList(T... array); static final String[] EMPTY_STRING_ARRAY; static final int[] EMPTY_INT_ARRAY; static final long[] EMPTY_LONG_ARRAY; static final double[] EMPTY_DOUBLE_ARRAY; static final boolean[] EMPTY_BOOLEAN_ARRAY; }
@Test public void testReverse() { double[] d1 = new double[]{1, 2, 3}; Arrays2.reverse(d1); assertArrayEquals(new double[]{3, 2, 1}, d1, NO_DELTA); double[] d2 = new double[]{1, 2, 3, 4}; Arrays2.reverse(d2); assertArrayEquals(new double[]{4, 3, 2, 1}, d2, NO_DELTA); double[] d3 = new double[]{}; Arrays2.reverse(d3); assertArrayEquals(new double[]{}, d3, NO_DELTA); }