leo*_*ard 0 java json java-6 java-stream
我怎样才能将它转换为java 1.6?方法.stream()在java 1.6中无法使用.
final Optional<Entry<String, String>> mapping = cfg.getTypeMapping()
.entrySet()
.stream()
.filter(e -> e.getKey().startsWith(jsonType + "|"))
.findFirst();
Run Code Online (Sandbox Code Playgroud)
我们来看看:
mapping = cfg.getTypeMapping()
.entrySet()
.stream()
.filter(e -> e.getKey().startsWith(jsonType + "|"))
.findFirst();
Run Code Online (Sandbox Code Playgroud)
上面的代码可能会获取某种类型的map,获取其条目并迭代它们,以停止第一个键startsWith(jsonType + "|").
这就是全部,并且很容易在旧式循环代码中重写.
但这里的实际挑战是:使用Java 1.8 final Optional<Entry<String, String>>将类Optional添加到Java中.
有没有等同于它.所以你的整个代码根本无法重写为Java 1.6
你可以做的最接近的事情是:编写循环代码,如果循环找到了什么,则返回该结果,否则返回null.或者,你可以这样做:
List<Entry<String, String>> firstMapping = Collections.emptyList();
for (Entry<String, String> entries = cfg.getTypeMapping().entrySet()) {
if (entry.getKey().startsWith(jsonType + "|")) {
firstMapping = Collections.singletonList(entry);
break;
}
}
return firstMapping;
Run Code Online (Sandbox Code Playgroud)
或者,考虑到OP考虑使用的事实com.google.common.base.Optional,您可以这样做:
for (Entry<String, String> entries = cfg.getTypeMapping().entrySet()) {
if (entry.getKey().startsWith(jsonType + "|")) {
return Optional.of(entry);
}
}
return Optional.absent();
Run Code Online (Sandbox Code Playgroud)
代替.
当然,永远记住:Java 6是.人们应该避免积极的开发,尤其是当人们不得不依赖其他人来进行实际的后端移植工作时.
(免责声明:我的代码示例意味着详细的伪代码灵感,我没有通过编译器运行它,它可能包含拼写错误等)