[Reflection] caster un tableau dynamiquement
	
	
		Bonjour,
Je suis face à un probleme de cast. Je dois faire un client générique permettant de créer dynamiquement des objets. Pour cela, je passe par la reflexivité de JAVA.
Mais je suis face à un probleme de tableau... Je m'explique :
Imaginons une classe Polygon, avec une méthode setPoints(Point[] points)
Si je veux, de manière générique, construire le tableau de Point, il me faut connaitre son type (Point). Et ca je ne le sais pas.
La seule chose que je peux faire c'est lui passer un tableau Object[] mais lorsque j'appelle la méthode récursive invoke, une exception est levée car la méthode attend un paramètre de type Point[] et non Object[]...
Donc ma question est la suivante, savez vous comment créer dynamiquement un tableau typé ?
Merci
	 
	
	
	
		Re: [reflect] caster un tableau dynamiquement
	
	
		
	Citation:
	
		
		
			
				Envoyé par Pignoufy
				
			
			Si je veux, de manière générique, construire le tableau de Point, il me faut connaitre son type (Point). Et ca je ne le sais pas.
			
		
	 
 Je comprend pas cette phrase. Au moment ou tu les rentre dans le tableau, tu ne sais pas encore si ce sont des points ?
Et ta class Point, c'est une classe à toi ou la classe Pint par défaut de Java ??
	 
	
	
	
		Re: [reflect] caster un tableau dynamiquement
	
	
		
	Citation:
	
		
		
			
				Envoyé par Pignoufy
				
			
			Donc ma question est la suivante, savez vous comment créer dynamiquement un tableau typé ?
Merci
			
		
	 
 Bonjour,
oui ça existe, regarde les méthodes :
	Code:
	
1 2
   | java.lang.Array.newInstance(Class componentType, int[] dimensions)
java.lang.Array.newInstance(Class componentType, int length)  | 
 
	 
	
	
	
		Re: [reflect] caster un tableau dynamiquement
	
	
		
	Citation:
	
		
		
			
				Envoyé par Pignoufy
				
			
			Donc ma question est la suivante, savez vous comment créer dynamiquement un tableau typé ?
Merci
			
		
	 
 Bonjour,
oui ça existe, regarde les méthodes :
	Code:
	
1 2
   | java.lang.reflect.Array.newInstance(Class componentType, int[] dimensions)
java.lang.reflect.Array.newInstance(Class componentType, int length)  |