Sobes.tech
Back to questions
Junior — Middle
113

Есть ли возможность изменить значение переданного примитивного типа внутри вызывающей функции?

Answer from AI

sobes.tech AI

В Java примитивные типы передаются в методы по значению, то есть копируется само значение, а не ссылка на него. Поэтому изменить значение примитива внутри вызывающей функции так, чтобы это изменение отразилось на переменной вызывающей стороны, нельзя.

Пример:

public void changeValue(int x) {
    x = 10; // изменение локальной копии
}

int a = 5;
changeValue(a);
System.out.println(a); // выведет 5, а не 10

Если нужно изменить значение и получить результат, можно вернуть новое значение из метода или использовать обёртки (например, AtomicInteger) или массивы, где можно менять содержимое объекта.