mal*_*esh 11 java jax-rs java-6 data-structures
Java 6接口MultivaluedMap有什么用?
Raf*_*ter 25
该接口不属于"Java",这意味着该接口不是核心库的一部分.它是javax.ws.rs
层次结构的一部分,是JAX-RS规范的一部分.它由实现规范的框架使用,例如Jersey.只要地图不仅要引用单个值而且引用任意数量的值,都会使用它.使用的一个示例是例如存储请求标头,您可能希望为每个密钥添加多个值.或者甚至在某些情况下没有键,与null
值相比,它更容易处理空列表.
以此HTTP标头为例:
Accept-Encoding:compress; q = 0.5,gzip; q = 1.0
你会模仿这个
MultivaluedMap<String, String> map = ...
map.add("Accept-Encoding", "compress;q=0.5");
map.add("Accept-Encoding", "gzip;q=1.0");
Run Code Online (Sandbox Code Playgroud)
在泽西岛内部.这种类型的多值存储是Java中的常见问题,其由诸如Guava的地图的其他实现者解决.
这基本上就是javadoc所说的:
键值对的映射.每个键可以具有零个或多个值.