«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу добиться поведения передачи по ссылке для примитивов в Java?

Как я могу добиться поведения передачи по ссылке для примитивов в Java?

Опубликовано 8 ноября 2024 г.
Просматривать:438

How Can I Achieve Pass-by-Reference Behavior for Primitives in Java?

Передача по значению и ссылке Java

В предоставленном Java-коде переменная toyNumber передается по значению в функцию play() метод. Это означает, что внутри метода создается копия переменной, и любые изменения, сделанные внутри метода, не отражаются в исходной переменной. В результате вывод показывает, что toyNumber в main() остается неизменным после его изменения в методе play().

Чтобы добиться эквивалента передачи по ссылке для примитивов в Java, вы можете рассмотреть следующие варианты:

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

Верните измененное значение
Измените метод play(), чтобы он возвращал измененное значение номер игрушки. Для этого необходимо обновить вызов в main(), чтобы присвоить возвращаемое значение исходной переменной.

Класс или статическая переменная
Если две функции определены в одном классе или классе Например, вы можете определить toyNumber как класс или статическую переменную. Это делает его доступным для обеих функций и гарантирует, что любые внесенные изменения будут отражены в исходной переменной.

Одноэлементный массив
Передайте одноэлементный массив, содержащий примитивную переменную. Это считается хаком, но может быть использовано для достижения поведения, подобного передаче по ссылке.

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3