如何在Java中反转数组?

时间:2017-10-02 00:05:56

标签: java arrays string int

我已尝试过这段代码,但我不确定它为什么不起作用:

    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));

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

此行不符合您的想法: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];
}