Les fonctions à nombre variable d'arguments [Résolu]

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- - Dernière réponse : cs_BlackWood
Messages postés
37
Date d'inscription
mardi 15 avril 2003
Dernière intervention
4 octobre 2006
- 4 oct. 2006 à 15:46
Salut Tous :

Y a t'il en Java un mécanisme pour gérer les fonctions à nombre variable d'arguments qui ressemble à celui du C/C++?

Et Merci ...
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
37
Date d'inscription
mardi 15 avril 2003
Dernière intervention
4 octobre 2006
3
Merci
Pour résumer,

Avec Java 1.5 :

void myMethod(Object... args) {
   for(Object o : args) {
      // Traitement
   }
}

Avec une version antérieure à Java 1.5 :

void myMethod(Object[] args) {
   for(int i=0;i      // Traitement
   }
}

BlackWood

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_BlackWood
Messages postés
358
Date d'inscription
jeudi 24 octobre 2002
Dernière intervention
30 mars 2011
0
Merci
voila un exemple de classe avec la méthode add qui n'a pas un nombre définie d'argument.

public

class
JPanelFlow
extends
JPanel{


     JPanelFlow(){ 
              
super
();


    }


    
void
add(
Component
...comp){   


       
for
(
Component
compo:comp){


            add(compo);


        }      


    }
}
Commenter la réponse de kaloway
Messages postés
405
Date d'inscription
mardi 18 décembre 2001
Dernière intervention
15 juillet 2014
0
Merci
non pas tel fprintf en C


par contre tu peux avoir du polymorphisme de signature


public void methode(String a)
public void methode(String a, String b)
public void methode(String a, String b, String c)

si non tu peux passer une tableau d'objet à ta méthode
public void methode(String[] a)
Commenter la réponse de shaiulud
Messages postés
405
Date d'inscription
mardi 18 décembre 2001
Dernière intervention
15 juillet 2014
0
Merci
ps avec une JVM 1.4 en 1.5 ça a l'air pôssible vu l'exemple précédant.
Commenter la réponse de shaiulud
Messages postés
5306
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
14 décembre 2018
0
Merci
Salut,

ajout en 1.5:
    arguments variable;
    Scanner (pour les lectures claviers socket, etc...)
    import static
    foreach
    autoboxing
    printf
    top most pour les fenetres
    enum
    etc....

pour la precision
   
add(
Component
...comp) revient à faire add(
Component
[] comp) ,
    vu que tu peux faire :
void add(
Component
...comp){
    int nbArgs = comp.length;
    for(int i = 0; i < nbArgs; i++)
        System.out.println(comp[i]);
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Commenter la réponse de Twinuts

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.