为什么Java的字符串有方法length()而不是属性长度(像数组?)



Java具有不可变的字符串,因此其初始化的大小永远不会改变(如数组的大小(。问题是 - 如果大小永远不会改变,为什么 Java 需要调用方法length()而不是像数组中的属性length?是length()

因为length()是在CharSequence接口中定义的,该接口由String实现。接口不能在 Java 中定义属性。此外,这使得它与其他类型的互换性更强。

在很多方法中,你可能只依赖CharSequence接口而不是一个真实的String,然后你可以在调用站点中使用CharBufferSegmentStringStringBufferStringBuilder的实例。

另请参阅:字符序列文档。