bonjour
juste une petite note.
j'utilise java.lang.reflect pour inspecter le contenu d'un objet et j'obtiens alors un Object lorsque je lis un champ.
mais là j'ai eu une surprise: si un champ est d'un type primitif mon code qui testait si le champ était Serializable ne marchait pas.
effectivement:
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
 
public class TestSerial {
 
    public static void isItSerial(Class clazz) {
        if(Serializable.class.isAssignableFrom(clazz)) {
            System.out.println(clazz + " Is Serializable");
        } else {
            System.out.println(clazz + " Is Not serializable");
        }
    }
 
    public static void main(String[] args) {
        isItSerial(Integer.TYPE);
        isItSerial(Double.TYPE);
        isItSerial(Double.class);
    }
}
donc il faut que je rajoute un test pour savoir si le champ est d'un type primitif.
bon
question: quelle est la raison de ce comportement? il doit y avoir une bonne raison .... (par exemple: je suis serializable mais je ne suis pas un objet ... bon d'accord)