Kotlin 运算符重载

文章目录

运算符函数

我们平时使用的+-==[]等运算符其实是以函数(成员函数或扩展函数)的形式实现的。对应的符号有对应的函数名,并且需要以operator标记。

复制代码
operator fun 函数名()[: 返回值类型] [函数体]

运算符函数重载

我们可以将各种运算符重载为我们想要的操作。

例如,我们发现IntString并不能相加:

kt 复制代码
fun main() {
    print("Hello K" + 2)
}

我们可以重载plus运算符函数:

kt 复制代码
operator fun Int.plus(other: String) = "$this$other"


fun main() {
    print("Hello K" + 2)
}
复制代码
Hello K2

更多运算符说明可查看文档Operator overloading(英文)或运算符重载(中文)

Note:在 IDEA 中,将一个函数标记为operator,此函数如果为扩展函数,在写出接收者类型.之后就会提示可以重载的运算符名称,并且在后方会有该符号;如果为成员函数,则是在打出字母后会提示包含该字母的运算符及其符号。

相关推荐
Haha_bj2 天前
七、Kotlin——扩展(Extensions)
android·kotlin
urkay-2 天前
Android getDrawingCache 过时废弃
android·java·开发语言·kotlin·iphone·androidx
用户69371750013842 天前
24.Kotlin 继承:调用超类实现 (super)
android·后端·kotlin
alexhilton2 天前
借助RemoteCompose开发动态化页面
android·kotlin·android jetpack
QING6183 天前
Jetpack Compose Brush API 简单使用实战 —— 新手指南
android·kotlin·android jetpack
QING6183 天前
Jetpack Compose Brush API 详解 —— 新手指南
android·kotlin·android jetpack
鹿里噜哩3 天前
Spring Authorization Server 打造认证中心(二)自定义数据库表
spring boot·后端·kotlin
用户69371750013843 天前
23.Kotlin 继承:继承的细节:覆盖方法与属性
android·后端·kotlin
Haha_bj3 天前
五、Kotlin——条件控制、循环控制
android·kotlin