Java passe-t-il le tableau par référence à une méthode?

Java passe-t-il le tableau par référence à une méthode?
Java passe-t-il le tableau par référence à une méthode? Oui, et c'est la seule façon de passer un tableau à une fonction en Java. En Java, une fonction est appelée méthode, et elle est membre d'une classe. Plus de bonnes nouvelles! Une méthode en java peut retourner un tableau, et c'est par référence. L'identifiant du tableau est une référence.

Rappel: Un fichier de programme Java typique a une classe principale avec la méthode principale (). Le nom de la méthode principale est principal. Cependant, le nom de la classe principale n'est pas le principal. C'est le nom choisi par le programmeur. C'est aussi le nom du fichier. Cette classe principale peut avoir d'autres membres (propriétés et fonctions). D'autres classes en dehors de la classe principale peuvent avoir leurs propriétés et leurs méthodes. Dans cet article, la méthode principale ne concerne pas passer et retourner le tableau. À Java, une propriété s'appelle un champ.

Cet article illustre comment passer un tableau à une méthode et renvoyer un tableau d'une méthode par référence. La classe Array n'a pas besoin d'être importée pour ce programme.

Méthode dans une classe distincte

Passer par référence

Dans cette section de l'article, la méthode pour recevoir le tableau est dans une classe distincte, pas la classe principale. Un exemple d'une telle classe est:

classe ACLASS
Char func (char [] chs)
retour chs [2];

Le nom de cette classe supplémentaire est un aclass. Il n'a qu'un seul membre, qui est une méthode. Le nom de la méthode est Func. Il n'a qu'un seul paramètre, qui est une déclaration de tableau. Il renvoie un char. Le personnage renvoyé est à la troisième position du tableau reçu (indice 2).

Dans la méthode principale (), le segment de code suivant peut être utilisé:

char [] arr = 'a', 'b', 'c', 'd';
Aclass obj = new aclass ();
char ret = obj.func (arr);
Système.dehors.println (ret);

La première instruction de ce segment de code définit le tableau. La deuxième déclaration déclare l'objet, obj de la classe, Aclass. L'instruction suivante appelle la méthode de l'objet, avec le nom du tableau (référence) comme argument. La dernière instruction imprime le troisième caractère (index 2) du tableau reçu par la méthode appelée. La sortie serait C.

Ces deux segments de code montrent comment un tableau est transmis à une méthode par référence.

Retour par référence

La classe ci-dessus est modifiée pour que la méthode renvoie un tableau par référence, comme suit:

classe ACLASS
char [] func (char [] chs)
retour chs;

L'expression de retour dans la signature de la méthode est Char [] et plus, juste, char. L'expression de retour de l'instruction de retour est désormais le nom du tableau dans le paramètre et n'est plus un élément de tableau.

Le segment de code correspondant dans la méthode principale () est modifié pour être:

char [] arr = 'a', 'b', 'c', 'd';
Aclass obj = new aclass ();
char [] ret = obj.func (arr);
Système.dehors.println (ret [2]);

Le type de retour de l'appel de méthode est un tableau et pas seulement Char. Le tableau est toujours adopté comme un argument de la même manière qu'auparavant. La dernière instruction ici imprime une valeur d'élément du tableau de retour.

Les deux programmes ci-dessus montrent comment un tableau peut être transmis par référence et comment un tableau peut être renvoyé par référence.

Méthode en classe principale

Passer par référence

Dans cette section de l'article, la méthode de réception du tableau est dans la classe principale, pas dans une classe distincte. Un exemple d'une telle méthode est:

Char Func statique (char [] chs)
retour chs [2];

Notez que la méthode d'intérêt est désormais statique car elle sera appelée à partir de la méthode principale qui est également statique et est également dans la classe principale. Le nom de la méthode est Func. Il n'a qu'un seul paramètre, qui est une déclaration de tableau. Il renvoie un char. Le personnage renvoyé est à la troisième position du tableau reçu (indice 2).

Dans la méthode principale (), qui est statique, le segment de code suivant peut être utilisé:

char [] arr = 'a', 'b', 'c', 'd';
char ret = func (arr);
Système.dehors.println (ret);

La sortie serait C. La première instruction de ce segment de code définit le tableau. Aucun objet n'est déclaré ici, car il n'y a pas de classe distincte. L'instruction suivante appelle la même méthode de classe, la classe principale, avec le nom du tableau (référence) comme argument. La dernière instruction imprime le troisième caractère (index 2) du tableau reçu par la méthode appelée.

Ces deux segments de code montrent comment un tableau est transmis à une méthode par référence.

Retour par référence

La méthode ci-dessus est modifiée, pour renvoyer un tableau par référence, comme suit:

Char statique [] func (char [] chs)
retour chs;

L'expression de retour dans la signature de la méthode est «char [] statique» et plus «charme statique». L'expression de retour de l'instruction de retour est désormais le nom du tableau dans le paramètre et n'est plus un élément de tableau.

Le segment de code correspondant dans la méthode principale () est modifié pour être:

char [] arr = 'a', 'b', 'c', 'd';
char [] ret = func (arr);
Système.dehors.println (ret [2]);

La première déclaration ici est la déclaration du tableau. Le type de retour de l'appel de méthode est un tableau et pas seulement Char. Le tableau est toujours adopté comme un argument de la même manière qu'auparavant. La dernière instruction imprime une valeur d'élément du tableau de retour.

Ces deux programmes montrent comment un tableau peut être transmis par référence et comment un tableau peut être renvoyé par référence.

Conclusion

Oui, et c'est la seule façon de passer un tableau à une méthode en Java: déclarez le paramètre comme tableau et utilisez le nom du tableau dans l'appel de la méthode. En Java, une fonction est appelée méthode, et elle est membre d'une classe. Plus de bonnes nouvelles! Une méthode (en java) peut renvoyer un tableau, qui est également par référence. L'identifiant (nom) du tableau est une référence. Laissez la définition de la méthode (implémentation) avoir le type de tableau, comme paramètre, dans la signature de la méthode pour les réaliser. L'expression de l'instruction de retour dans la définition de la méthode n'est que le nom du tableau. L'expression de retour pour la signature de la méthode est le type de tableau. L'expression de réception doit être du type de tableau dans l'instruction d'appel de la méthode.