Java tutorial
//package com.java2s; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; public class Main { public static byte[] reverse(final byte[] bytes) { Objects.requireNonNull(bytes); if (bytes.length == 0) { return new byte[0]; } final List<Byte> list = asList(bytes); Collections.reverse(list); return toArray(list); } private static List<Byte> asList(byte[] bytes) { Objects.requireNonNull(bytes); if (bytes.length == 0) { return new ArrayList<>(); } final List<Byte> list = new ArrayList<>(bytes.length); for (byte b : bytes) { list.add(b); } return list; } private static byte[] toArray(List<Byte> bytes) { Objects.requireNonNull(bytes); if (bytes.size() == 0) { return new byte[0]; } final byte[] array = new byte[bytes.size()]; for (int i = 0; i < bytes.size(); i++) { array[i] = bytes.get(i); } return array; } }