gpt4 book ai didi

kotlin - 为什么 Kotlin Collections 中的 isEmpty 不是属性?

转载 作者:IT老高 更新时间:2023-10-28 13:42:06 24 4
gpt4 key购买 nike

我开始学习 Kotlin,刚刚注意到 Collections.isEmpty是一个函数,而不是一个属性。但是,Collections.size是属性而不是函数。

在大多数(所有?)集合中,我希望这两个在语义上是相关的,并且 isEmpty 的实现可以简单地为 size === 0 .

那么...为什么不是 isEmpty属性(property)?这仅仅是一个设计错误吗?

最佳答案

在决定 java.util.Collection 的哪些方法将成为 kotlin.collections.Collection 中的属性时,考虑了以下因素:

  • sizeisEmpty 都可以根据 Kotlin coding conventions 被限定为属性。 ,但是 size 是集合所固有的,而 isEmpty 只是 size 属性的派生。
  • 在实现集合时,可以使用 var 属性(可能使用私有(private) setter)覆盖 size val 属性,但同样如此isEmpty 几乎不需要。
  • 将方法作为属性公开需要在派生类中生成额外的方法,最好将它们的数量保持在尽可能小。

关于kotlin - 为什么 Kotlin Collections 中的 isEmpty 不是属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com