【问题标题】:When to use length and when to use length() [duplicate]何时使用长度以及何时使用 length() [重复]
【发布时间】:2014-12-28 04:59:02
【问题描述】:

我是 JAVA 新手,在编写一些代码时有一个非常简单的问题。什么时候应该使用length,什么时候应该使用length()?

长度和大小有什么区别?

谢谢!

【问题讨论】:

  • 它因类型而异。数组有一个长度字段,集合有一个 size(),字符串有一个 length()。
  • length 用于数组,size() 用于集合
  • @ElliottFrisch 所说的。此外,StringBufferStringBuilder 具有 length()File 也是如此。许多其他较少使用的类也是如此 - 请参阅 docs.oracle.com/javase/8/docs/api/index-files/index-12.html 并向下滚动以查看 JRE 定义的类有哪些 length()
  • 看在上帝的份上,先搜索谷歌。真的比在这里发布这个简单的问题花费的时间更少。检查this

标签: java size


【解决方案1】:

length --- arrays (int[], double[], String[]) ---- 知道数组的长度。

length() --- String相关对象 (String, StringBuilder etc)知道String的长度

size() --- Collection Object (ArrayList, Set etc)知道Collection的大小

因为length 不是一种方法,它适用于数组而不是对象。

size() 是一种适用于收集框架的方法,正如我在上面所说的那样。

现在 String 不是直接数组,也不是 Collection,这就是为什么我们还需要一个不同的数组,即 length()

【讨论】:

  • 哦,我明白了。但是长度和大小有什么区别呢?
  • @SeaBiscuit 我认为集合有size(),因为它们不一定按顺序排列。 SetMap 集合对它们没有任何顺序,谈论其中一个的“长度”似乎也不合适。结果是ListCollection 的子类,它有size() 而不是length(),这需要一些时间来适应。也许他们应该将length() 定义为size() 的同义词List...哦,好吧。
  • 这是一个很好的解释。如果您编辑答案以添加此部分,我会很高兴@ajb
猜你喜欢
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 2012-03-26
  • 2014-06-16
  • 2013-04-05
  • 2011-05-04
  • 2019-06-24
  • 2018-04-24
相关资源
最近更新 更多