基本上我想做的是用Java8特性编写一个for循环,如下所示,
private String createHashCode() {
for (int i = 0; i < MAX_TRY; i++) {
final String hashCode = createRandomString();
if (!ishashCodeExistence(hashCode)) {
return hashCode;
}
}
throw new HashCodeCollisonException();
}
我尝试的是;
private String createHashCode() {
IntStream.range(0, MAX_TRY).forEach($ -> {
final String hashCode = createRandomString();
if (!ishashCodeExistence(hashCode)) {
return hashCode;
}
});
throw new HashCodeCollisonException();
}
但是,lambda中的foreach方法返回void,因此无法返回字符串。
有没有办法写我的方法而不是使用普通for循环?
1条答案
按热度按时间r6l8ljro1#
下面是如果你真的想用流重写它的方法,尽管我更喜欢好的旧版本
for
在此特定情况下循环: