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

可能重复:
计数与集合中的长度与大小

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

任何评论赞赏。

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

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

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

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

为了我,

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

“大小”意味着在不暗示订单,开始或结束的情况下有多大。

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

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

例如,您提供的缓冲区长度是多少? 它与结构x的大小相同。