术语“长度”和“大小”之间是否存在技术差异(当然,在编程中)?

时间:2010-02-04 21:38:08

标签: java object terminology method-names

  

可能重复:
  count vs length vs size in a collection

特别是在Java中,在Strings上,您呼叫string.length(),而在Lists中呼叫list.size()。两个术语之间是否存在技术差异,因为String实际上只是chars的列表?

任何评论都表示赞赏。

6 个答案:

答案 0 :(得分:13)

通常,当某些东西具有恒定长度时使用length(),而对具有可变长度的东西使用size()。过去,我知道没有充分的理由使用两个几乎同义的术语。

答案 1 :(得分:9)

理想情况下,count将是项目数量,size将是占用的存储量(如sizeof中所示)。

在实践中,所有三个(包括length,这是最模糊的)在许多广泛使用的库中混淆了,所以在这个阶段尝试对它们施加模式毫无意义。

答案 2 :(得分:3)

我不这么认为。更有可能的原因是API在大型团队中工作,不同的人对名称应该有不同的看法,特别是在某些上下文中使用同义词的词,例如大小和长度。

答案 3 :(得分:3)

对我来说,

“长度”表示订单,您正在测量从开始到结束的长度。

“大小”表示在不暗示订单,开始或结束的情况下有多大的东西。

答案 4 :(得分:2)

正如其他人所说,我认为这是一种语义差异。阵列定义非常明确,并且被称为具有长度。对象的集合更模糊,部分原因是它的实现(它是一个数组,链表,树吗?)不一定是你关心的问题。一棵树实际上没有长度,但它有一定的大小,因此大小可能在语义上更有意义。

答案 5 :(得分:0)

对我来说,在描述计算机中组织字节的结构或其他方式时使用“大小”。它不一定必须实例化。另一方面,“长度”表示存储器中特定字节缓冲区在给定点的大小。

E.g。你提供的缓冲区长度是多少?它与结构x的大小相同。