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:
donc il faut que je rajoute un test pour savoir si le champ est d'un type primitif.
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); } }
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)
Partager