Kotlin 中“一切皆对象”是什么意思?
\n\n\n在 Kotlin 中,一切都是对象,因为您可以调用任何变量的成员函数和属性。某些类型可以有特殊的内部表示 \xe2\x80\x93 例如,数字、字符和布尔值可以在运行时表示为原始值 \xe2\x80\x93 但对于用户来说它们看起来像普通类
\n
对 Java 最常见的批评之一是某些类型(原始类型)受到特殊对待。也就是说, Javaint和Java 之间存在根本区别String。int是原始类型并且String是对象类型。这会产生几个下游后果。
int始终按值传递,而按String引用传递。int不能用于泛型。int是不可为 null 的,而String可以是null.int。int不派生自Object,因此即使是其他“通用”的东西也toString无法在其上工作。因此,Java 程序员必须始终意识到这一点,并且必须在某种意义上以不同的方式对待这些基本类型。
Kotlin 消除了这种差异。在 Kotlin 中,Int是一个类类型,就像String. 它有方法,通过引用传递,可以为空(Int?在 Kotlin 中定义良好),并且派生自顶级类型Any。
在内部, Kotlin 可以自由地将其优化为原语int,以使您的代码更快。但至关重要的是,这是一个实施细节。作为程序员,您可以自由地假设一切都是对象,Kotlin 将与您一起工作。
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |