java - 如何在 Java 中反转数组?

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

有人可以帮忙吗?

最佳答案

这行代码的作用与您想象的不同: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/

相关文章:

java - 如何在 Tapestry 的网格中实现寻呼机更改事件

java - Google App Engine (java) 服务类是线程安全的吗?

java - 中序二叉树方法的返回值

Javascript 子字符串不返回正确的字符串

c++ - 扩展 C++ 字符串成员函数

java正则表达式选择直到字符串而不是子字符串

java - BigDecimal 是可扩展的并且没有复制构造函数。这有安全风险吗?

java - 字符串数组不匹配

javascript - 在 JavaScript 中构建一个对象,该对象由 HTML 表格行中单元格的名称/值对组成

javascript - 使用随机键在对象数组中查找索引