WINACreve
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention24 décembre 2005
-
23 déc. 2005 à 05:44
WINACreve
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention24 décembre 2005
-
24 déc. 2005 à 01:02
Salut,
Est-ce que il y a un moyent de comparer 2 objets et de dire si ils sont du même type...
Mais un même type en se fiant également au paramêtre de classe utilisé lors de la déclaration.. (comme souvent appeler <T>) et dire si ils ont la même classe en paramêtre ou non
exemple:
Salut bob = new Salut();
Salut roger = new Salut();
//je voudrais faire quelque chose du genre:
if (bob.CompareDeclaration(roger))
//Pareil
else
//Pas Pareil
dans l'Exemple plus haut, les 2 variables sont du type "Salut" mais ils utilise un paramêtre de classe différent...
dans ce cas il devrais retourné "Pas Pareil" même si ils sont les 2 de type "Salut" parce que "Bonjour" et "Bonsoir" ne sont pas la même classe
j'espère avoir été assez clair... si vous voulez plus de détail.. laisser une note
WINACreve
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention24 décembre 2005 24 déc. 2005 à 01:02
exemple:
Salut bob = new Salut();
Salut roger = new Salut();
Merci j'avais déja essayer avec getClass().getName() mais sa ne marchait pas car il me retournais toujours "Salut" et non la classe passé entre les <> mais je vien de faire des tests et créant une fonction dans la classe "Salut" qu'on peut nommer: getParametreClass et qui retourne getClass().getName() d'un objet instancier avec la classe passé entre les <> alors dans ce cas il retourne le bon nom de classe et il est possible de comparer 2 objet "Salut" et de savoir si ils sont vraiment pareil. Sa peut sembler assez confu comme explication mais voici en code de quoi sa a l'air:
//La class qui nécessite un parametre
public class Salut<T> {
private T Bob; //Une variable global dans la classe
public Salut(T p_Bob) { //Un Constructeur
Bob = p_Bob;
}
public String getParametreClass() {
return Bob.getClass().getName(); //Un getClass().getName() mais qui se fait directement sur une valeur instancier avec la classe passé en paramêtre
}
}
//Une fonction externe qui veut savoir de quel type sont les variable
public void testSalut() {
Salut<Double> Var1 = new Salut<Double>(new Double(45));
System.out.println(Var1.getParametreClass()); //Va écrire: java.lang.Double
Salut Var2 = new Salut(new Integer(45));
System.out.println(Var2.getParametreClass()); //Va écrire: java.lang.Integer
}
En espérant que sa va aider du monde a mieux comprendre les classes avec Paramêtres <>