特别是在Java中,在Strings
上,您呼叫string.length()
,而在Lists
中呼叫list.size()
。两个术语之间是否存在技术差异,因为String
实际上只是chars
的列表?
任何评论都表示赞赏。
答案 0 :(得分:13)
通常,当某些东西具有恒定长度时使用length(),而对具有可变长度的东西使用size()。过去,我知道没有充分的理由使用两个几乎同义的术语。
答案 1 :(得分:9)
理想情况下,count
将是项目数量,size
将是占用的存储量(如sizeof
中所示)。
在实践中,所有三个(包括length
,这是最模糊的)在许多广泛使用的库中混淆了,所以在这个阶段尝试对它们施加模式毫无意义。
答案 2 :(得分:3)
我不这么认为。更有可能的原因是API在大型团队中工作,不同的人对名称应该有不同的看法,特别是在某些上下文中使用同义词的词,例如大小和长度。
答案 3 :(得分:3)
对我来说,
“长度”表示订单,您正在测量从开始到结束的长度。
“大小”表示在不暗示订单,开始或结束的情况下有多大的东西。
答案 4 :(得分:2)
正如其他人所说,我认为这是一种语义差异。阵列定义非常明确,并且被称为具有长度。对象的集合更模糊,部分原因是它的实现(它是一个数组,链表,树吗?)不一定是你关心的问题。一棵树实际上没有长度,但它有一定的大小,因此大小可能在语义上更有意义。
答案 5 :(得分:0)
对我来说,在描述计算机中组织字节的结构或其他方式时使用“大小”。它不一定必须实例化。另一方面,“长度”表示存储器中特定字节缓冲区在给定点的大小。
E.g。你提供的缓冲区长度是多少?它与结构x的大小相同。