为什么我们有一个数组的长度作为属性,array.length
, 对于 String 我们有一个方法 str.length()
?
有什么原因吗?
最佳答案
让我首先强调实现类似目的的三种不同方式。
length
-- 数组 (int[]
, double[]
, String[]
) -- 知道数组的长度
length()
-- 字符串相关对象(String
、StringBuilder
等) -- 要知道字符串的长度
size()
-- Collection Object (ArrayList
, Set
, etc) -- 了解集合的大小
现在忘记 length()
,只考虑 length
和 size()
。
length
不是一种方法,因此它不适用于对象是完全有道理的。它仅适用于数组。
size()
它的名字更好地描述了它,因为它是一种方法,它将用于那些与集合(集合框架)一起工作的对象,正如我在上面所说的那样。
现在来length()
:
String 不是原始数组(所以我们不能使用 .length
)也不是 Collection(所以我们不能使用 .size()
)这就是为什么我们还需要另一种是 length()
(保持差异并服务于目的)。
回答为什么?
我觉得它很有用,易于内存和使用,而且友好。
关于java - Java中的长度和长度(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965500/