为什么说数组的时候length是数据域,说String的时候是length()?意思是:
int a[10] = {1,2,3,4,5,6,7,8,9,10};
String str = "foo";
int a_len = a.length;
int str_len = str.length();
为什么长度不是数组的函数,反之亦然?
最佳答案
简单地说:就是这样,而且一直都是这样。
在 JLS section 10.7 中指定该数组有一个公共(public)的最终 length
字段。为了保持一致性,它本可以被指定为一种方法 - 但它并不是......同样 String
可以 做出实现决定以拥有一个 public final length
字段 - 但同样,它恰好不是那样。
自 1.0 以来存在一些不一致的地方 - 显然这些东西在发布后确实无法更改......
关于java - 数组中的长度和字符串中的 length(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939994/