我有这段代码,并且花了一些时间尝试使用lambda表达式和流转换for for循环,但是失败了。
for(int i = 0, j = 308; i < 17;i++, j -= 18) {
if(consoleMessages[i] != null) {
newBoldFont.drawBasicString(consoleMessages[i], 9, j, 16777215, 0);
}
}
我试过这个,也试过很多其他的方法,但不记得我有什么。
Arrays.stream(consoleMessages).forEach(x->{
IntStream.range(308,0).map(inty->inty-=18).forEach(v->{
newBoldFont.drawBasicString(x, 9, v, 16777215, 0);
return;
});
});
答案 0 :(得分:0)
如果你坚持......
IntStream.range(0, 17)
.forEach(
i-> {
if(consoleMessages[i] != null)
newBoldFont.drawBasicString(consoleMessages[i], 9, 308 - 18 * i, 16777215, 0);
});
...但为什么有人想要这样做?循环是完美的,它是可读的,这是可以理解的。保留代码原样。