您可以使用
toArray(),然后使用
String(int[], int,int)构造函数。正如
chars()返回UTF-16代码单元所指定的那样,这并不完全令人满意,基本上是:
返回此序列的int零扩展char值的流。映射到代理代码点的任何字符都将通过未解释传递。
使用
prePoints()反而会更加保持与此构造,其预计的代码点,而不是UTF-16代码单元。否则(带有
chars),如果您的原始字符串
确实 包含代理对,则您可能会发现错误-我没有尝试过,但这是有道理的。
我不知道没有先转换为数组的简单方法。



