【发布时间】:2016-01-01 18:57:01
【问题描述】:
我喜欢Guava,我会继续大量使用 Guava。但是,在有意义的地方,我尝试使用 Java 8 中的“新东西”。
“问题”
假设我想在 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 中最优雅的方法是什么(没有任何第三方库)?
【问题讨论】:
-
“仅使用 Java 8”是相当模糊的,因为您在 Java 7 中可以做的任何事情也可以在 Java 8 中完成。
-
意思是使用 Java 8,没有任何库。如果进行此练习,图书馆将无法达到目的。 Java 8 还附带了一些不错的 api,以及 Java 7 所没有的语法更改。这为一些优雅的编程打开了大门。
-
附注:如果您希望创建一个 URL 查询字符串,那么您的做法是错误的,因为您需要转义可能出现在键名或值中的特殊字符。
-
好点@TagirValeev。
标签: java dictionary java-8 java-stream