我以前从未使用过Java中的流,现在正在尝试使用流完成简单示例的测试。
我想返回一个60-120范围内的随机整数,并尝试了以下代码:
return new Random().ints(1,60,121);
但是我知道我还需要将它再次转换为int,但是不知道如何操作。
我以前从未使用过Java中的流,现在正在尝试使用流完成简单示例的测试。
我想返回一个60-120范围内的随机整数,并尝试了以下代码:
return new Random().ints(1,60,121);
但是我知道我还需要将它再次转换为int,但是不知道如何操作。
由于您创建了一个只包含一个元素的流,因此可以使用findFirst()
方法获取该元素:
int randInt = new Random().ints(1,60,121).findFirst().getAsInt();
话虽如此,仅仅为了产生一个随机数而创建一个 IntStream
没有意义。您可以使用 Random
的 nextInt()
来实现。
如果您想生成多个随机整数,使用 IntStream
更有意义。在这种情况下,您可以将生成的 IntStream
转换为数组:
int[] randInts = new Random().ints(1000,60,121).toArray();
new Random().ints(1, 60, 121).forEach(System.out::println);
- achAmháinint n = ThreadLocalRandom.current().nextInt(61) + 60;
(注意:这不会创建任何对象。) - Peter LawreyThreadLocalRandom.current().nextInt(60, 121)
- HolgerRandom
中的nextInt
方法获取一个随机整数。你为什么要创建一个整数流? - Goura