J'avais une question concernant ... les paramètres en java. Voici l'exemple de codeUtilisation de ... paramètres en Java
class Foo{
private void m1(Object... params){
//do something with params[0]
//do something with params[1]
//do something with params[2]
//do something with params[3]
}
public void m2(Object... params){
Object additionalParam = new Object();
m1(additionalParam, params);
}
}
class Example{
public void main(String[] args){
Foo f = new Foo();
Object o1 = new Object();
Object o2 = new Object();
Object o3 = new Object();
f.m2(o1, o2, o3);
}
}
Est-ce que quelque chose comme ça fonctionne? Je n'ai pas eu d'erreur de compilation, mais lorsque je faisais quelque chose de similaire, j'ai eu des problèmes en changeant la valeur de l'un des objets de m1()
.
SOLUTION: Je pense que le tableau serait aplati, mais apparemment cela ne se produit pas.
class Foo{
private void m1(Object... params){
//do something with params[0]
//do something with params[1][0]
//do something with params[1][1]
//do something with params[1][2]
}
public void m2(Object... params){
Object additionalParam = new Object();
m1(additionalParam, params);
}
}
class Example{
public void main(String[] args){
Foo f = new Foo();
Object o1 = new Object();
Object o2 = new Object();
Object o3 = new Object();
f.m2(o1, o2, o3);
}
}
Merci, Sibbo pour votre contribution.
Quel est ce problème? –
ne résulterait pas en une régression infinie en raison de l'invocation répétée d'un nombre croissant d'arguments? –
Quels sont les problèmes? S'il vous plaît expliquer plus. – Maroun