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 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

Schreibe einen Kommentar