Я пытаюсь получить полную карту параметров из объекта запроса и выполнить итерацию по ней.
вот пример кода
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);
}
вывод
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
из вывода видно, что объект значения является экземпляром 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);
}
он ничего не печатает, но в соответствии с предыдущим выводом он должен был печатать значения, и если я удаляю instanceOf check, он дает ClassCastException. Это ожидаемое поведение или я делаю что-то не так?