【发布时间】:2019-09-22 02:45:37
【问题描述】:
我可以这样做:
Map<String, String> mapA = ...;
Map<String, String> mapB = mapA.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue
));
但是当我尝试这样做时:
... mapA.entrySet().stream()
.collect(JsonCollectors.toJsonObject(
JsonObject.Entry::getKey,
JsonObject.Entry::getValue
));
我明白了
不能从静态上下文中引用非静态方法
对于JsonObject.Entry::getKey, JsonObject.Entry::getValue 部分。
为什么?
【问题讨论】:
-
你这样做的目的是什么?
-
JSON 对象将成为
application/jsonHTTP 响应的一部分。 -
在什么情况下?我知道的每个平台(Spring、Micronaut、Dropwizard、Jersey)都支持返回一个常规对象,并自动为您完成所有这些。
-
没有框架,只有java SE,com.sun.net.httpserver
标签: java lambda javax.json