问题描述
您可以使用toArray()
,然后使用String(int[], int,
int)
构造函数。正如chars()
返回UTF-16代码单元所指定的那样,这并不完全令人满意,基本上是:@H_403_5@
使用codePoints()
反而会更加保持与此构造,其预计的代码点,而不是UTF-16代码单元。否则(带有chars
),如果您的原始字符串确实 包含代理对,则您可能会发现错误-我没有尝试过,但这是有道理的。@H_403_5@
解决方法
在Java 8流API中,调用chars()
任何String
对象都会返回一个IntStream
包含所有字符的对象。
将返回的IntStream
对象转换回a
的正确方法是String
什么?调用toArray()
会给我一个int[]
,任何String
构造函数都不接受。