我喜欢Guava,我会继续大量使用Guava,但是,如果它有意义,我会尝试使用 * Java8 * 中的“新东西”。
“问题”
假设我想在String
中连接url属性,在 Guava 中我会这样做:
Map<String, String> attributes = new HashMap<>();
attributes.put("a", "1");
attributes.put("b", "2");
attributes.put("c", "3");
// Guava way
String result = Joiner.on("&").withKeyValueSeparator("=").join(attributes);
其中result
是a=1&b=2&c=3
。
问题
在 Java 8 中(没有任何第三方库),最优雅的方法是什么?
2条答案
按热度按时间oxalkeyp1#
您可以获取map的条目集流,然后将每个条目Map到所需的字符串表示,使用
Collectors.joining(CharSequence delimiter)
将它们连接到单个字符串中。但是由于条目的
toString()
已经以key=value
输出了它的内容,所以可以直接调用它的toString
方法:ltqd579y2#