如何从映射中分离嵌套数组?-JAVA

如何从映射中分离嵌套数组?-JAVA,java,hashmap,Java,Hashmap,我有一张由字符串和对象组成的地图 Map<String, Object> filters 实际上,我正在使用Primefaces中的选择复选框菜单,这个奇怪的地图就是从那里来的。当我使用selectOneMenu时,value已经像key如果我正确地找到了您,您需要转换保存在Object中的字符串[],该示例将返回[a,b,c] publicstaticvoidmain(字符串[]args){ HashMap=newHashMap(); put(“key1”,新字符串[]{“a”、

我有一张由字符串和对象组成的地图

Map<String, Object> filters

实际上,我正在使用Primefaces中的选择复选框菜单,这个奇怪的地图就是从那里来的。当我使用selectOneMenu时,value已经像key

如果我正确地找到了您,您需要转换保存在Object中的字符串[],该示例将返回[a,b,c]

publicstaticvoidmain(字符串[]args){
HashMap=newHashMap();
put(“key1”,新字符串[]{“a”、“b”、“c”});
map.forEach((k,v)->System.out.println(toList(v));
}
公共静态列表列表(对象obj){
返回Arrays.asList((String[])obj);
}

我不太清楚您的问题是数组的“古怪”,还是您尝试应用的算法。是的,但我无法得出“ANKARA”值。我已经尝试了很多方法去接触和分离它,这就是为什么我称之为“怪异”。我有一些背景信息,因为我读过你之前的问题。如果您确实希望将数组转换为字符串,那么您就有了一个解决方案,因为您使用的组件可以提供多个值。在过滤器中的某个时刻,在创建查询时,您需要执行类似于
和city in(val1,val2,val3)
的操作。同样,你真的需要一个数组,你不想把它转换成字符串。太好了!谢谢换句话说:只需将
对象
强制转换为
字符串[]
       if (!filters.isEmpty()) {
            filters.forEach((k, v) -> {
                columnName = new String(k.toString());
                filter = new String(v.toString());
            });
        } else {
            columnName = new String(DEFAULT_SORT_FIELD);
            filter = new String("");
        }
  public static void main(String[] args) {
    HashMap<String, Object> map = new HashMap<>();

    map.put("key1", new String[]{"a","b","c"});

    map.forEach((k,v) -> System.out.println(toList(v)));

  }

  public static List<String> toList(Object obj) {
    return Arrays.asList((String[])obj);
  }