kotlin运算符重载

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

什么是运算符重载

如果了解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关键字,我们就可以随便操作。只是概念的问题,掌握了对于我们写出优雅的代码还是有很大帮助的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容