java - 为什么 Java 的 String 有方法 length() 而不是属性 length(像数组一样?)

标签 java string

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

最佳答案

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

在很多方法中,你可能只依赖于CharSequence接口(interface)而不是真正的String,那么你可以使用CharBuffer的实例,调用站点中的 SegmentStringStringBufferStringBuilder

另请参阅:CharSequence文档。

关于java - 为什么 Java 的 String 有方法 length() 而不是属性 length(像数组一样?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828405/

相关文章:

arrays - 具有数学属性的 Excel VBA 字符串转换

java - 在 InheritanceType.JOINED 中使用 AttributeConverter 映射 MySQL ENUM 在 Hibernate 5.3.6 (JPA 2.1+) : No enum constant 上抛出 IllegalArgumentException

Java Rest 基本身份验证

java - 如何在 Spring 中使用注解应用方面?

java - 如何从安卓设备上传位图图像?

javascript - 切断 Javascript 字符串

python - 相当于 Go 中的 Python string.format?

Python Pandas 匹配来自不同列的字符串

java - 服务层中的 hibernate/spring 验证

c - 非字母定界符