43 votes

Comment choisir entre deux méthodes du même nom en Java ?

J'essaie d'accéder à une méthode dans une classe que j'ai créée, mais comme elle est similaire en nom et en nombre d'arguments, mon IDE dit que la méthode est ambiguë. Voici une maquette de ce à quoi ressemblent les deux méthodes :

methodName(X, Y, Z)
methodName(A, Y, Z)

J'ai appelé la méthode, et passé la valeur null pour le premier argument dans le cadre de mon test. Malheureusement, je ne peux pas renommer les méthodes, changer l'ordre des arguments ou modifier la structure de la méthode de quelque manière que ce soit. Existe-t-il un moyen de différencier ces deux méthodes ?

91voto

fivedigit Points 6498

Transposez le premier argument au type du premier paramètre de la méthode que vous voulez appeler, par exemple :

methodName((A) null, y, z);

0voto

Everyone Points 1157

Pouvez-vous utiliser la réflexion sur l'objet pour obtenir la liste des méthodes ? Si oui, vous pouvez alors invoquer explicitement la méthode qui vous intéresse. Je crois cependant que la réponse de 5digit est probablement meilleure...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X