Anfrage.getParameterMap Werte nicht gewirkt zu string
ich versuche, das komplette parameter-anzeigen aus dem request-Objekt und Durchlaufen Sie es.
hier ist der Beispielcode
Map map = request.getParameterMap();
for(Object key : map.keySet()){
String keyStr = (String)key;
Object value = map.get(keyStr);
System.out.println("Key " + (String)key + " : " + value);
}
Ausgabe
Key businessunit : [Ljava.lang.String;@388f8321
Key site : [Ljava.lang.String;@55ea0889
Key startDate : [Ljava.lang.String;@77d6866f
Key submit : [Ljava.lang.String;@25141ee0
Key traffictype : [Ljava.lang.String;@4bf71724
seine offensichtlich von der Ausgabe, dass das value-Objekt ist eine Instanz von String
now when i change my code to something like this
Map map = request.getParameterMap();
for(Object key : map.keySet()){
String keyStr = (String)key;
Object value = map.get(keyStr);
if(value instanceof String)
System.out.println("Key " + (String)key + " : " + (String)value);
}
druckt er nichts, aber wie in der vorangegangenen Ausgabe haben sollte, druckte die Werte und wenn ich entfernen instanceOf prüfen, es gibt die classcastexception-Fehler. ist dies das erwartete Verhalten, oder mache ich etwas falsch hier ?
Drei Möglichkeiten: 1. Hast du redeclare class
Ah vergessen, die oben, es ist ein array. Täuschen mich.
String
irgendwo (versuchen Sie es mit java.lang.String
statt String
um das herauszufinden)? 2. Verwenden Sie die exakt gleichen Werte beim ausführen der zwei Stücke von code? 3. Versuchen Sie es mit String.valueOf(value)
oder value.toString()
und sehen, was passiert. Hoffe, es hilft.Ah vergessen, die oben, es ist ein array. Täuschen mich.
InformationsquelleAutor dpsdce | 2011-12-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
[Ljava.lang.String;@XXXXXXX
bedeutet, es ist Reihe vonString
nicht eine einzigeString
. Also deine Bedingung nicht und es druckt nicht alles.InformationsquelleAutor Harry Joy
Als das Objekt, das zurückgegeben wird, ein array mit strings als Harry Joy darauf hingewiesen, Sie haben die
Arrays.toString()
Methode, um zu konvertieren das array in eine druckbare Zeichenfolge:InformationsquelleAutor imp25
Der Wert ist ein array. Wenn du sicher bist, dass das array nicht leer ist, sollten Sie die Zeichenfolge wie diese:
InformationsquelleAutor DavidLee