我已经尝试过这段代码,但我不确定为什么它不起作用:
String[] arr = {"A", "B", "C", "D", "E"};//AD
String[] arr2 = arr;
int last = arr.length-1;
int first = 0;
int size = arr.length;
while (first < size) {
arr2[first] = arr[last];
last--;
first++;
}
System.out.print(Arrays.toString(arr2));
有人可以帮忙吗?
最佳答案
这行代码的作用与您想象的不同:String[] arr2 = arr
。这只是将变量 arr2 指向与 arr 相同的对象引用。因此,其中一个方面的变化会出现在另一个方面,因为它们实际上是同一件事。
为了反转数组,您需要迭代该数组并将值复制到反转的数组中。
String[] arr = { "A", "B", "C", "D", "E" };
String[] reversed = new String[arr.length];
for(int i = 0, j = arr.length-1 ; i < arr.length; i++, j--) {
reversed[j] = arr[i];
}
关于java - 如何在 Java 中反转数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46518057/