如何将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
实现者正确地完成了它的工作就可以工作。 但是如果你想避免任何不确定性,你应该使用一个StringBuilder
和append()
,如下所示:
final StringBuilder sb = new StringBuilder(charSequence.length()); sb.append(charSequence); return sb.toString();