Bonjour,
Je me pose des questions sur l'ellipse.
Voici un code juste pour baser le debat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
import java.util.List;
import java.util.LinkedList;
 
public class MyCollection
{
	private List<MyObject> myObjects = new LinkedList<MyObject>();
 
	public void add(MyObject o){ myObjects.add(o); }
 
	/* // deja defini par l'ellipse
	public void add(MyObject[] os){
		for(MyObject o : os){ myObjects.add(o); }
	}
	*/
 
	public void add(MyObject... os){
		for(MyObject o : os){ myObjects.add(o); }
	}
 
}
 
class MyObject {}
Comment la jvm peut elle faire la difference entre la premiere version de add et la derniere quand on ne passe qu'un object en parametre?

Et une autre question theorique mais qui ne servira pas (ou presque pas dans la pratique), si on declare
Code : Sélectionner tout - Visualiser dans une fenêtre à part
public void add(Object... os)
les appels
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
add(new Object[1],new Object[2]) // os contient ces deux tableaux
add(new Object[6]) // os = le tableau créé
sont clairs
Cela implique qu'il est impossible que os soit de taille 1 et contenant une reference vers un tableau, non?
mais ne peux determiner quelle methode appeler, non?
Est ce que est accepté?

Merci d'avance

Remarque : Ce n'est pas la peine de me dire d'aller lire quelquechose sur ce forum, j'ai lu tout ce qui était en raport, mon code est juste une base pour des questions donc oui il ne sert pas à grand chose... Et je precise aussi, actuellement je ne dispose pas de jdk installé sur l'ordinateur que j'utilise...