如何将CharSequence转换为Java中的string?

如何将Java CharSequence转换为String

通过调用它的toString()方法。

以与此序列相同的顺序返回包含此序列中字符的string。 string的长度将是这个序列的长度。

这里有一个微妙的问题,这是一个棘手的问题。

toString()方法在Object有一个基本的实现。 CharSequence是一个接口; 尽pipetoString()方法作为该接口的一部分出现,但在编译时没有任何东西会迫使你重写它,并且尊重CharSequence toString()方法的javadoc放在toString()方法上的附加约束。 即它应该按charAt()返回的顺序返回一个包含字符的string。

你的IDE甚至不会提醒你,你可能应该重写toString() 。 例如,在intellij中,如果你创build一个新的CharSequence实现,你将会看到: http : //puu.sh/2w1RJ 。 注意toString()的缺失。

如果你依赖于任意的CharSequence上的toString() ,只要CharSequence实现者正确地完成了它的工作就可以工作。 但是如果你想避免任何不确定性,你应该使用一个StringBuilderappend() ,如下所示:

 final StringBuilder sb = new StringBuilder(charSequence.length()); sb.append(charSequence); return sb.toString();