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

Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 3 oct. 2006 à 12:27 - Dernière réponse : cs_BlackWood 37 Messages postés mardi 15 avril 2003Date d'inscription 4 octobre 2006 Dernière intervention
- 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 

5 réponses

Répondre au sujet
cs_BlackWood 37 Messages postés mardi 15 avril 2003Date d'inscription 4 octobre 2006 Dernière intervention - 4 oct. 2006 à 15:46
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_BlackWood
kaloway 358 Messages postés jeudi 24 octobre 2002Date d'inscription 30 mars 2011 Dernière intervention - 3 oct. 2006 à 13:14
0
Utile
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
shaiulud 405 Messages postés mardi 18 décembre 2001Date d'inscription 15 juillet 2014 Dernière intervention - 3 oct. 2006 à 13:17
0
Utile
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
shaiulud 405 Messages postés mardi 18 décembre 2001Date d'inscription 15 juillet 2014 Dernière intervention - 3 oct. 2006 à 13:18
0
Utile
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
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 3 oct. 2006 à 14:03
0
Utile
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.