Ответ
Да, будет видна. В Java массивы являются объектами, и ссылка на массив передаётся в метод по значению. Это означает, что метод получает копию этой ссылки, которая указывает на тот же самый массив в памяти. Поэтому любые изменения содержимого массива внутри метода отражаются на исходном массиве.
Практический пример:
import java.util.Arrays;
public class Main {
public static void sortArray(int[] arr) {
// Сортирует массив, на который ссылается параметр arr
Arrays.sort(arr);
}
public static void main(String[] args) {
int[] numbers = {3, 1, 4, 1, 5};
System.out.println("До: " + Arrays.toString(numbers)); // До: [3, 1, 4, 1, 5]
sortArray(numbers); // Передаём ссылку на массив 'numbers'
System.out.println("После: " + Arrays.toString(numbers)); // После: [1, 1, 3, 4, 5]
}
}
Ключевой момент: Метод не может изменить саму ссылку numbers в main (например, заставить её указывать на другой массив), но он может свободно менять содержимое массива, на который эта ссылка указывает.