如何将 Java CharSequence
转换为 String
?
原文由 Belgi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将 Java CharSequence
转换为 String
?
原文由 Belgi 发布,翻译遵循 CC BY-SA 4.0 许可协议
这里有一个微妙的问题,有点棘手。
toString()
方法在 Object
中有一个基本实现。 CharSequence
是一个接口;尽管 toString()
方法作为该接口的一部分出现,但在编译时没有任何东西会强制您覆盖它并遵守 CharSequence
toString()
的附加约束 ---
方法的javadoc放在 toString()
方法上;也就是说,它应该返回一个字符串,其中包含按 charAt()
返回的顺序排列的字符。
您的 IDE 甚至不会通过提醒您您 可能应该 覆盖 toString()
来帮助您。例如,在 intellij 中,如果您创建一个新的 CharSequence
实现,您将看到以下内容: http ://puu.sh/2w1RJ。注意缺少 toString()
。
如果你依赖于 toString()
任意 CharSequence
,它 应该 工作提供 CharSequence
实施者正确地完成了他们的工作。但是如果你想完全避免任何不确定性,你应该使用 StringBuilder
和 append()
,就像这样:
final StringBuilder sb = new StringBuilder(charSequence.length());
sb.append(charSequence);
return sb.toString();
原文由 fragorl 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
通过调用其
toString()
方法。