Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Réflexivité et type primitif

6 réponses
Avatar
Bernard Koninckx
Bonjour à tous,

Dans le cadre du développement d'un TableModel de mon cru, j'utilise la
réflexivité. Seulement j'ai un problème lorsque j'essaye de trouver une
méthode publique d'une classe qui contient un argument de type primitif.
J'ai essayé avec le wrapper Integer mais forcément le type ne correspond
pas. Comment puis-je faire cela ?

Merci à tous.

Bernard

6 réponses

Avatar
Bernard Koninckx
J'ai trouvé.

Integer.TYPE pour int
etc pour les autres types primitifs

au cas où ça pourrait intéresser quelqu'un d'autre.

Bernard

"Bernard Koninckx" a écrit dans le message de
news: 408918f2$0$10833$
Bonjour à tous,

Dans le cadre du développement d'un TableModel de mon cru, j'utilise la
réflexivité. Seulement j'ai un problème lorsque j'essaye de trouver une
méthode publique d'une classe qui contient un argument de type primitif.
J'ai essayé avec le wrapper Integer mais forcément le type ne correspond
pas. Comment puis-je faire cela ?

Merci à tous.

Bernard




Avatar
Örjan Petersson
"Bernard Koninckx" writes:

J'ai essayé avec le wrapper Integer mais forcément le type ne correspond
pas. Comment puis-je faire cela ?
int.class, long.class, etc.


--
Orjan Petersson, Logcode SARL
The email address in the From: header is valid

Avatar
Bernard Koninckx
J'ai essayé ça, mais ça ne fonctionne pas.
La solution que j'ai trouvée est dans un post précédant.

Merci quand même

Bernard

"Örjan Petersson" a écrit dans le message de news:

"Bernard Koninckx" writes:

J'ai essayé avec le wrapper Integer mais forcément le type ne correspond
pas. Comment puis-je faire cela ?
int.class, long.class, etc.


--
Orjan Petersson, Logcode SARL
The email address in the From: header is valid



Avatar
Örjan Petersson
"Bernard Koninckx" writes:

J'ai essayé ça, mais ça ne fonctionne pas.
La solution que j'ai trouvée est dans un post précédant.



Integer.TYPE et int.class sont équivalents :

public class C1 {
void f(int i) {}

public static void main(String[] args) {
Class[] c = {int.class /*ou Integer.TYPE*/};
try {
Method m = C1.class.getDeclaredMethod("f", c);
System.out.println(m);
} catch (Exception e) {
System.out.println(e);
}
}
}

C'est bien quelque chose comme ça que tu veux faire?
--
Orjan Petersson, Logcode SARL
The email address in the From: header is valid

Avatar
Bernard Koninckx
J'avais déjà trouvé la solution à ce problème.
Oui tout à fait, maintenant cela fonctionne.

Merci

Bernard

"Örjan Petersson" a écrit dans le message de news:

"Bernard Koninckx" writes:

J'ai essayé ça, mais ça ne fonctionne pas.
La solution que j'ai trouvée est dans un post précédant.



Integer.TYPE et int.class sont équivalents :

public class C1 {
void f(int i) {}

public static void main(String[] args) {
Class[] c = {int.class /*ou Integer.TYPE*/};
try {
Method m = C1.class.getDeclaredMethod("f", c);
System.out.println(m);
} catch (Exception e) {
System.out.println(e);
}
}
}

C'est bien quelque chose comme ça que tu veux faire?
--
Orjan Petersson, Logcode SARL
The email address in the From: header is valid



Avatar
captainpaf
"Bernard Koninckx" a écrit dans le message de
news: 408cb1c3$0$11080$
J'avais déjà trouvé la solution à ce problème.
Oui tout à fait, maintenant cela fonctionne.

Merci

Ben si tu réfléchissais un peu plus avant de poser tes questions !