Comment sortie un Objet en java.util.Carte?
J'ai un objet dans mon code du type de l'Objet:
Object o
La classe de l'instance de l'Objet: o.getClass()
donne l'Objet.
Aujourd'hui, il devrait être une Carte! Comment puis-je sortie de ce plan?
J'ai essayé: Map<String, Object> map = (HashMap<String,Object>)o
Mais cela renvoie:
java.lang.ClassCastException: [Ljava.lang.Objet; ne peut pas être jeté à java.util.HashMap
L'instance " o " vient d'une requête XMLRPC. Cette demande n'est pas admissible variables correctement soi-disant
Veuillez jeter un oeil à ce!?
EDIT:
Maintenant, j'ai le problème suivant:
o.getClass().getName()
donne java.util.ArrayList
,
o.get(0)
donne [Ljava.lang.Object;@739e8329
,
et o.get(0).getClass().getName()
donne java.lang.String
.
Je ne peux pas trouver quoi faire..
EDIT2:
J'ai enfin trouvé ce qui s'est passé. Le logiciel qui a créé cet objet aplatie discbased dans une Chaîne de caractères (valueOf()). Donc, quand j'ai imprimé la variable qu'il a renvoyé un [Ljava.util.L'objet, qui était en fait une Chaîne de caractères contenant cette information.
Merci les gars!
OriginalL'auteur user441174 | 2010-09-07
Vous devez vous connecter pour publier un commentaire.
[Ljava.lang.Object
indique le type de l'objet o est un tableau d'Objets - c'est-àObject[]
. Vous ne pouvez pas le jeter auxMap
.Vous trouverez peut-être utile si la pris un coup d'oeil: java: qu'est-ce que ceci: [Ljava.lang.Objet;?
Vous avez déclaré que
.getClass()
indiquéObject
, mais était-ilObject
ou[LObject
?Comparer:
qui imprime:
D'accord, merci pour votre lien! C'est utile!
Je suis maintenant un pas de plus: je ne les suivants: o.getClass().getName() --> java.util.Liste de tableaux, puis de l'o.get(0) --> [Ljava.lang.Objet;@8sfajb8c ou alors, et alors o.get(0).getClass().getName() --> java.lang.Chaîne (!!) Comment est-ce possible?
Je pense que c'est juste que vous n'obtenez pas ce que vous attendez à obtenir.
Je pense que vous avez raison.. je dois explorer ce que je suis. En PHP je voudrais utiliser var_dump, mais il est difficile de le faire en Java. Des idées?
OriginalL'auteur Grzegorz Oledzki
L'erreur indique clairement, que
o
ne pas mettre en œuvre laMap
interface. Il est donc impossible de lancer cet objet àMap
.Le résultat est un tableau d'Objets. Peut-être, le tableau contient en fait des cartes. Essayez si cela fonctionne:
c'est exactement la question.
o
s'étendObject
, c'est sûr, mais pour être en mesure de lancer cette instanceMap
, l'instance doit être une mise en œuvre deMap
trop. (En fait, c'est un casting pourHashMap
qui n'est pas nécessaire et ne change rien)OriginalL'auteur Andreas_D
Vous ne pouvez pas convertir
o
àMap
, car il ne permet pas de mettre en œuvreMap
interface. Exception montre queo
est tableau deObject
s.OriginalL'auteur amorfis