kotlin运算符重载

2022-01-02  本文已影响0人  辉涛

假期去了妹妹那一趟,这两天大鱼大肉伺候着,真的有点吃不消,再加上最近也没运动,去她那上称一看,一百四十多了,还好一米八的个,看起来还不是太臃肿,今天坐车真的累,不得不吐槽虎门站的秩序有点乱啊,管理秩序太混乱了,好歹还是回来了,脱了衣服,先出去干了六公里多,洗了澡,发现上个星期说总结一下运算符重载的,也没弄,干脆睡觉前,总结总结。

什么是运算符重载

如果了解c++的同学,一定对这个概念不陌生。或者在java中我们对重载并不陌生,可能存在多个重名函数,只是方法的参数不同而已,而加上运算符,就仅仅只争对我们的运算符了。回顾一下平时用到的运算符大多有以下这些:


算术运算符
关系运算符
赋值运算符

上面是我们常运的一些运算符,当然还有其他的一元运算符,或者逻辑运输符,就不一一贴出来了。下面还是用例子,详细说明运算符重载。
我们就以我们常用的+=运输符聊起,任意举例,原理都差不多,我们常用的list集合,装入数据的时候通常只能用add()方法,我们能否使用+=运算符重载完成了,还无疑问,当然是可以的,

inline operator fun <T>MutableList<in T>.plusAssign(e:T){
    this.add(e)
}

fun main(args: Array<String>) {
    println("Hello World!")
    val list = mutableListOf<String>()
    list += "aa"
    list += "bb"
}

总结

总体来说操作使用运算符重载还是比较简单,使用operator关键字,我们就可以随便操作。只是概念的问题,掌握了对于我们写出优雅的代码还是有很大帮助的。

上一篇 下一篇

猜你喜欢

热点阅读