Java6接口多值Map有什么用?
x6yk4ghg1#
接口不属于“java”,这意味着接口不是核心库的一部分。它是世界的一部分 javax.ws.rs 层次结构是jax-rs规范的一部分。它由实现规范的框架(如jersey)使用。每当Map不仅要引用单个值,而且要引用任意数量的值时,就使用它。例如,使用请求头的存储,您可能希望为每个键添加多个值。或者在某些情况下甚至没有键,在这些情况下,处理空列表比处理空列表更容易 null 价值观。以这个http头为例:接受编码:压缩;q=0.5,gzip;q=1.0你可以用
javax.ws.rs
null
MultivaluedMap<String, String> map = ... map.add("Accept-Encoding", "compress;q=0.5"); map.add("Accept-Encoding", "gzip;q=1.0");
在泽西岛内部。这种类型的多值存储是java中的一个常见问题,其他map的实现者(如guava)也解决了这个问题。javadoc基本上是这么说的:键值对的Map。每个键可以有零个或多个值。
8ehkhllq2#
多值Map的一个好用法是与uriinfo一起使用。如果您正在编写一个接收多个queryparams的rest端点,那么可以使用uriinfo获取所有参数,并使用getquery()调用提取它们。例如:
public void get(@Context UriInfo ui) { MultivaluedMap params = ui.getRequestUri().getQuery(); // now do what you want with your params }
多值Map很有用,因为可以有多个值的参数。例如,如果它是一个客户数据库,并且您希望获得多个客户,那么您的Map将具有“customerid”键和与之链接的多个值。
bbuxkriu3#
多值Map是javax.ws.rs.core包的一部分,而不是核心java。它主要用于存储请求中的头文件值并使用它私有mediatype getmediatype(类entityclass,类型entitytype,多值Map头){final object mediatypeheader=headers.getfirst(“content type”);…..}它在uriinfo中也非常有用
private String getJsonpFunctionName(){ UriInfo uriInfo = getUriInfo(); if (uriInfo == null) { return null; } MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters(); if (queryParameters == null) { return null; } return queryParameters.getFirst("jsonp"); }
rjee0c154#
它是键值对的Map。每个键可以有零个或多个值
public interface MultivaluedMap<K,V> extends java.util.Map<K,java.util.List<V>>
4条答案
按热度按时间x6yk4ghg1#
接口不属于“java”,这意味着接口不是核心库的一部分。它是世界的一部分
javax.ws.rs
层次结构是jax-rs规范的一部分。它由实现规范的框架(如jersey)使用。每当Map不仅要引用单个值,而且要引用任意数量的值时,就使用它。例如,使用请求头的存储,您可能希望为每个键添加多个值。或者在某些情况下甚至没有键,在这些情况下,处理空列表比处理空列表更容易null
价值观。以这个http头为例:
接受编码:压缩;q=0.5,gzip;q=1.0
你可以用
在泽西岛内部。这种类型的多值存储是java中的一个常见问题,其他map的实现者(如guava)也解决了这个问题。
javadoc基本上是这么说的:
键值对的Map。每个键可以有零个或多个值。
8ehkhllq2#
多值Map的一个好用法是与uriinfo一起使用。如果您正在编写一个接收多个queryparams的rest端点,那么可以使用uriinfo获取所有参数,并使用getquery()调用提取它们。例如:
多值Map很有用,因为可以有多个值的参数。例如,如果它是一个客户数据库,并且您希望获得多个客户,那么您的Map将具有“customerid”键和与之链接的多个值。
bbuxkriu3#
多值Map是javax.ws.rs.core包的一部分,而不是核心java。它主要用于存储请求中的头文件值并使用它
私有mediatype getmediatype(类entityclass,类型entitytype,多值Map头){final object mediatypeheader=headers.getfirst(“content type”);…..}
它在uriinfo中也非常有用
rjee0c154#
它是键值对的Map。每个键可以有零个或多个值