Объясните, пожалуйста, почему цикл в строке 25 меняет значение переменных массива b с 10 по 20? Я в нем меняю ТОЛЬКО значение переменных массива a. Если цикл убрать, то b[0] = -150 (самое маленькое число), а b[19] = 111 (самое большое число). НО если цикл оставить то b[0] и b[19] равны 111. Че это за бред!?
package com.javarush.task.task07.task0728;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int[] array = new int[20];
for (int i = 0; i < 20; i++) {
array[i] = Integer.parseInt(reader.readLine());
}
sort(array);
for (int x : array) {
System.out.println(x);
}
}
public static void sort(int[] a) {
Arrays.sort(a);
int[] b = a;
int ai = 0;
for (int bi = 19; bi > -1; bi--) {
a[ai] = b[bi];
ai++;
}
System.out.println("b[0]="+b[0]+", b[19]="+b[19]);
}
}