CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] Méthode qui modifie un array

Methacrack
Methacrack
Niveau 12
26 mars 2016 à 17:41:30

Bonjour à tous !
Je suis confronté à un soucis sur un bout de code en Java, et votre aide est la bienvenue ! :noel:

Je déclare donc un tableau dans mon main, et je souhaite le modifier dans une méthode, mais définitivement.
Etant à la base dev en c++, j'ai l'habitude de passer des paramètres par référence si je souhaite les modifier dans une procédure.
Or, c'est que du passed-by-value en Java, je souhaite donc connaître une alternative pour pouvoir modifier mon tableau dans une méthode, et pouvoir avoir accès à la version modifié dans le main.

Merci d'avance. :oui:

Grimmys
Grimmys
Niveau 19
26 mars 2016 à 18:19:51

Salut,

Heu... Non, justement, en Java, on transmet une référence du tableau à la méthode. :(

Les tableaux sont considérés comme des objets.

Ça ne fonctionne pas correctement dans ton code ? :(

Methacrack
Methacrack
Niveau 12
26 mars 2016 à 19:11:22

Honte à moi, j'avais même pas fais le test en partant de l'idée que le Java n'acceptait pas le passage par référence des variables, dont des tableaux.

En effet, ça fonctionne bien sans retourner un tableau à dupliquer, merci beaucoup. :noel:

Cj1993
Cj1993
Niveau 12
26 mars 2016 à 19:16:30

Ah non Java passe toujours par valeur les paramètres. (http://stackoverflow.com/q/40480/4517421)
Si tu veux changer la valeur fait une fonction et non une procédure ou tu renvoie ta nouvelle valeur avec un return :)

Grimmys
Grimmys
Niveau 19
26 mars 2016 à 19:20:34

De rien.

En fait, effectivement, tout se fait en passage par valeur en Java, mais le nom d'un objet renvoie non pas à l'objet mais à sa référence.

Ainsi, c'est une copie de la référence que l'on transmet, et non une copie de l'objet.

Donc ça revient à transmettre l'objet par référence. :fier:

Grimmys
Grimmys
Niveau 19
26 mars 2016 à 19:29:58

Le 26 mars 2016 à 19:16:30 Cj1993 a écrit :
Ah non Java passe toujours par valeur les paramètres. (http://stackoverflow.com/q/40480/4517421)
Si tu veux changer la valeur fait une fonction et non une procédure ou tu renvoie ta nouvelle valeur avec un return :)

Oui, ce n'est pas faux, Java passe toujours par valeur, mais cf mon post juste après le tiens. :oui:
Lis bien les réponses dans le lien que tu donnes, tu verras que cela coïncide avec ce que je dis : " Java is always pass-by-value. Unfortunately, they decided to call pointers references, thus confusing newbies. Because those references are passed by value. "

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment