假期去了妹妹那一趟,這兩天大魚大肉伺候著,真的有點(diǎn)吃不消,再加上最近也沒運(yùn)動,去她那上稱一看,一百四十多了,還好一米八的個,看起來還不是太臃腫,今天坐車真的累,不得不吐槽虎門站的秩序有點(diǎn)亂啊,管理秩序太混亂了,好歹還是回來了,脫了衣服,先出去干了六公里多,洗了澡,發(fā)現(xiàn)上個星期說總結(jié)一下運(yùn)算符重載的,也沒弄,干脆睡覺前,總結(jié)總結(jié)。
什么是運(yùn)算符重載
如果了解c++的同學(xué),一定對這個概念不陌生。或者在java中我們對重載并不陌生,可能存在多個重名函數(shù),只是方法的參數(shù)不同而已,而加上運(yùn)算符,就僅僅只爭對我們的運(yùn)算符了。回顧一下平時用到的運(yùn)算符大多有以下這些:

算術(shù)運(yùn)算符

關(guān)系運(yùn)算符

賦值運(yùn)算符
上面是我們常運(yùn)的一些運(yùn)算符,當(dāng)然還有其他的一元運(yùn)算符,或者邏輯運(yùn)輸符,就不一一貼出來了。下面還是用例子,詳細(xì)說明運(yùn)算符重載。
我們就以我們常用的+=運(yùn)輸符聊起,任意舉例,原理都差不多,我們常用的list集合,裝入數(shù)據(jù)的時候通常只能用add()方法,我們能否使用+=運(yùn)算符重載完成了,還無疑問,當(dāng)然是可以的,
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"
}
總結(jié)
總體來說操作使用運(yùn)算符重載還是比較簡單,使用operator關(guān)鍵字,我們就可以隨便操作。只是概念的問題,掌握了對于我們寫出優(yōu)雅的代碼還是有很大幫助的。