字符串的字符串IntStream – Java

是否可以将字符串str.chars()的流转换为使用字符串流,其中每个字符串包含5个字符,例如?

我不认为尝试组合字符中的元素非常适合Java流而不使用某些第三方库。

如果你想要一个包含5个字符子串的流,我会将它们拆分为:

 String s = "1234567890123456789012345678901234567890"; IntStream.range(0, s.length()/5) .mapToObj(i -> s.substring(i*5, (i+1)*5)) .forEach(System.out::println); 

您可以使用简单地将字符串拆分为五个字符大小的字符串

 String[] split = string.split("(?<=\\G.{5})"); 

如果必须使用流,您可以使用,例如

 Pattern.compile("(?<=\\G.{5})").splitAsStream(string).forEach(System.out::println); 

是的,如果使用有状态的lambda表达式是可能的,但它被认为是一种不好的做法

一个人应该能够串行​​或并行处理流。 元素处理的顺序可能不同,但两者都应导致相同的结果,这只能通过无状态表达式实现。