如何将字符串转换为Java 8字符流?
2022-09-01 08:42:34
我发现这个问题是关于从java字符串中获取java.util.streams.IntStream的,但是由于我正在使用Java 8,因此我还没有找到此方法。
更正:正如你们所指出的,我使用的是Java 7。现在方法就在那里。但这个问题仍然适用:chars()
如何从字符串中获取 a?Stream<Character>
我发现这个问题是关于从java字符串中获取java.util.streams.IntStream的,但是由于我正在使用Java 8,因此我还没有找到此方法。
更正:正如你们所指出的,我使用的是Java 7。现在方法就在那里。但这个问题仍然适用:chars()
如何从字符串中获取 a?Stream<Character>
我本来想向你指出我之前关于这个主题的答案,但事实证明你已经链接到了这个问题。另一个答案也提供了有用的信息。
如果需要值,可以使用返回的 by 并将值强制转换为,而不会丢失信息。其他答案解释了为什么该类没有原始的特化。char
IntStream
String.chars()
int
char
CharStream
Stream
如果确实需要盒装对象,请使用 从 转换为引用类型流。在 中,将值转换为 。由于对象应在此处作为返回值,因此 将自动装箱到 .这将导致 .例如Character
mapToObj()
IntStream
mapToObj()
int
char
char
Character
Stream<Character>
Stream<Character> sch = "abc".chars().mapToObj(i -> (char)i);
sch.forEach(ch -> System.out.printf("%c %s%n", ch, ch.getClass().getName()));
a java.lang.Character
b java.lang.Character
c java.lang.Character
请确保您使用的是 JDK 8。此方法位于 CharSequence 接口中,由 String 实现。
此代码段工作正常:
import java.util.stream.IntStream;
public class CharsSample {
public static void main(String[] args) {
String s = "123";
IntStream chars = s.chars();
}
}