Maison >Java >javaDidacticiel >Comment puis-je obtenir un comportement de passage par référence pour les primitives en Java ?

Comment puis-je obtenir un comportement de passage par référence pour les primitives en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-10 13:50:03371parcourir

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

Java Pass-by-Value et référence

Dans le code Java fourni, la variable toyNumber est transmise par valeur à play() méthode. Cela signifie qu'une copie de la variable est créée dans la méthode et que toutes les modifications apportées au sein de la méthode ne sont pas reflétées dans la variable d'origine. Il en résulte que le résultat montre que le toyNumber dans main() reste inchangé après sa modification dans la méthode play().

Pour obtenir l'équivalent du passage par référence pour les primitives en Java, vous pouvez envisager les options suivantes :

Passer une référence à un objet
Créer une classe pour encapsuler la variable primitive en tant que variable membre. Passez une instance de cette classe à la méthode, en passant effectivement une référence à la variable primitive.

Renvoyer la valeur modifiée
Modifiez la méthode play() pour renvoyer la valeur modifiée de numéro de jouet. Cela nécessite de mettre à jour l'appel dans main() pour attribuer la valeur renvoyée à la variable d'origine.

Classe ou variable statique
Si les deux fonctions sont définies au sein de la même classe ou classe Par exemple, vous pouvez définir toyNumber comme classe ou variable statique. Cela le rend accessible aux deux fonctions et garantit que toutes les modifications apportées sont reflétées dans la variable d'origine.

Tableau à un seul élément
Passez un tableau à un seul élément contenant la variable primitive. Ceci est considéré comme un hack mais peut être utilisé pour obtenir un comportement de type passage par référence.

En adoptant ces techniques, vous pouvez émuler efficacement le comportement de passage par référence pour les types primitifs en Java, vous permettant ainsi de modifier les variables d'origine même lorsqu'elles sont passées en arguments aux méthodes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn