-2
При прохождении строки a - myFunction(), передаю ссылку. Почему, когда он выходит, ссылка указывает на старую строку? Не использует ли он настоящую ссылку на строку?Передача параметра String функции и ее изменение
import java.time.*;
public class Main {
public static void main(String[] args) {
String a = "aaa";
myFunction(a);
System.out.println(a);
}
private static void myFunction(String a) {
a = a + "111";
System.out.println(a);
}
}
Вы можете либо передать экземпляр 'StringBuilder', так как это может быть изменено методом или вернуть результат' String' из метода. Строки Java неизменяемы (постоянны, заморожены). –
Чтобы ответить на ваш вопрос, ссылка передается только в метод. Если ссылка изменена в методе, новая ссылка не возвращается обратно. –