java中用于在C#中执行Array.Reverse(bytearray)
的等效函数是什么?
答案 0 :(得分:13)
您可以对Collections.reverse
上运行的list
返回的Arrays.asList
使用Array
: -
Byte[] byteArr = new Byte[5];
byteArr[0] = 123; byteArr[1] = 45;
byteArr[2] = 56; byteArr[3] = 67;
byteArr[4] = 89;
List<Byte> byteList = Arrays.asList(byteArr);
Collections.reverse(byteList); // Reversing list will also reverse the array
System.out.println(byteList);
System.out.println(Arrays.toString(byteArr));
输出: -
[89, 67, 56, 45, 123]
[89, 67, 56, 45, 123]
更新: -
或者,您也可以使用:Apache Commons
ArrayUtils#reverse
方法,直接对基本类型数组进行操作: -
byte[] byteArr = new byte[5];
ArrayUtils.reverse(byteArr);
答案 1 :(得分:10)
public static void reverse(byte[] array) {
if (array == null) {
return;
}
int i = 0;
int j = array.length - 1;
byte tmp;
while (j > i) {
tmp = array[j];
array[j] = array[i];
array[i] = tmp;
j--;
i++;
}
}
答案 2 :(得分:2)
您可以使用java.util.Collections.reverse()
。它需要java.util.List
作为输入参数。因此,您应该通过执行Arrays.asList(byteArray)
或通过创建List对象并将字节值添加到其中来将byteArray转换为List。