Java具有不可变的字符串,因此其初始化的大小永远不会改变(如数组的大小(。问题是 - 如果大小永远不会改变,为什么 Java 需要调用方法length()
而不是像数组中的属性length
?是length()
因为length()
是在CharSequence
接口中定义的,该接口由String
实现。接口不能在 Java 中定义属性。此外,这使得它与其他类型的互换性更强。
在很多方法中,你可能只依赖CharSequence
接口而不是一个真实的String
,然后你可以在调用站点中使用CharBuffer
、Segment
、String
、StringBuffer
或StringBuilder
的实例。
另请参阅:字符序列文档。