相关疑难解决方法(0)

Java 8是否提供了重复值或函数的好方法?

在许多其他语言中,例如.Haskell,很容易多次重复一个值或函数,例如.获取值为1的8个副本的列表:

take 8 (repeat 1)
Run Code Online (Sandbox Code Playgroud)

但我还没有在Java 8中找到它.在Java 8的JDK中是否有这样的功能?

或者相当于范围的东西

[1..8]
Run Code Online (Sandbox Code Playgroud)

它似乎是Java中冗长语句的明显替代品

for (int i = 1; i <= 8; i++) {
    System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

有类似的东西

Range.from(1, 8).forEach(i -> System.out.println(i))
Run Code Online (Sandbox Code Playgroud)

虽然这个特殊的例子实际上看起来并不简洁......但希望它更具可读性.

java java-8

110
推荐指数
4
解决办法
5万
查看次数

如何在Java 8中创建漂亮的迭代

Adam Bien的博客启发,我想用Java 8将Java 7中的常见迭代替换为更好的迭代.旧代码如下所示:

void repeatUsingJava7(int times) {
    for (int i = 0; i < times; i++) {
        doStuff();
        doMoreStuff();
        doEvenMoreStuff();
    }
}
Run Code Online (Sandbox Code Playgroud)

......这不太好.所以我用Adam Bein的例子替换它:

void repeatUsingJava8(int times) {
    IntStream.range(0, times).forEach(
        i -> {
            doStuff();
            doMoreStuff();
            doEvenMoreStuff();
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

...这是朝着正确方向迈出的一步,但不会使代码更易于阅读,还会引入一个不需要的变量i,以及一对额外的花括号.所以现在我想知道是否有其他方法来编写这个代码,这将使它更好,更容易阅读,主要是使用Java 8.

java iteration java-8

4
推荐指数
1
解决办法
425
查看次数

标签 统计

java ×2

java-8 ×2

iteration ×1