java - MultivaluedMap<String, String> 到 MultivaluedMap<String, Object>

标签 java hashmap type-conversion multivalue

我有一个MultivaluedMap<String, String> strMap我想将其转换为 MultivaluedMap<String, Object> objMap

我尝试探索下面帖子中的一些路线,但似乎都不起作用。

Converting Map<String,String> to Map<String,Object>

最佳答案

我今天遇到了同样的问题,经过大量搜索,我想出了以下解决方案:

public static MultivaluedMap<String, Object> asObjectHeaders(MultivaluedMap<String, String> headers) {
    if (headers == null) {
        return null;
    } else {
        MultivaluedMap<String, Object> map = new MultivaluedHashMap<>();
        for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
            if (entry.getValue() != null) {
                map.addAll(entry.getKey(), new LinkedList<Object>(entry.getValue()));
            }
        }
        return map;
    }
}

或者如果您使用的是 Guava,那么您可以使用以下代码:

public static MultivaluedMap<String, Object> asObjectHeaders(MultivaluedMap<String, String> headers) {
    if (headers == null) {
        return null;
    } else {
        return new AbstractMultivaluedMap<String, Object>(Maps.transformValues(headers, new Function<List<String>, List<Object>>() {
            @Override
            public @Nullable List<Object> apply(@Nullable List<String> strings) {
                if (strings != null) {
                    return new LinkedList<>(strings);
                } else {
                    return null;
                }
            }
        })) {};
    }
}

或者如果您使用的是 Jersey 客户端 glassfish,那么您可以使用以下内容:

public static MultivaluedMap<String, Object> asObjectHeaders(MultivaluedMap<String, String> headers) {
    if (headers == null) {
        return null;
    } else {
        return new AbstractMultivaluedMap<String, Object>(Views.mapView(headers, LinkedList::new)) {};
    }
}

关于java - MultivaluedMap<String, String> 到 MultivaluedMap<String, Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58294852/

相关文章:

java - Arquillian 中的多个容器错误

java - Java 中的 RSA 给定 n 和 e

java - Observablelist 和 arraylist,不同的行为

python - 将字符串转换为 float - python

python - 转换 pd.DataFrame : Lists to strings

java - TreeMap 中的重复键

java - 如何将Excel中的值分组到HashMap

java - 不同初始容量和负载因子的HashMap性能

java - 在迭代列表时从列表中删除对象

javascript - 从字符串到 int 的数组转换会使浏览器崩溃