我正在努力为此获得一个正常运行的代码.
我有一个0到9之间的数字流.我想从这些数字中得到一个BigInteger.
例:
IntStream digits = IntStream.of(1, 2, 3) // should get me a Biginteger 123.
IntStream digits = IntStream.of(9, 5, 3) // should get me a Biginteger 953.
有没有办法连接流中的所有元素?
这是我的基本想法:
digits.forEach(element -> result=result.concat(result, element.toString()));
解决方法:
您可以将每个数字映射到一个字符串,将它们连接在一起,然后从中创建一个BigInteger:
BigInteger result =
IntStream.of(1, 2, 3)
.mapToObj(String::valueOf)
.collect(Collectors.collectingAndThen(Collectors.joining(),
BigInteger::new));