字符串鏈接咧欣,在Java中只能使用+來鏈接浅缸,當(dāng)然除了StringBuilder、StringBuffer除外魄咕。而在Kotlin中除了使用+以外衩椒,還可以使用plus()函數(shù)。其接受任意類型。plus()函數(shù)是一個(gè)運(yùn)算符重載函數(shù)毛萌。
實(shí)例講解:
val oldStr = "kotlin"
println(oldStr.plus(" very good"))
println(oldStr + " very good")
輸出結(jié)果為:
kotlin very good
kotlin very good
工作中遇到的問題
最近項(xiàng)目有個(gè)這樣的需求苟弛,添加圖片上傳,要把多張圖片地址以
|
的方式拼接起來阁将,傳給服務(wù)器(多張圖片以|隔開)-
當(dāng)時(shí)看到這個(gè)膏秫,我想當(dāng)然的覺得用plus()函數(shù)替代Java中的+號就可以了,于是又有下面這段代碼
-
運(yùn)行之后的結(jié)果,并不是我想的那樣做盅,字符串根據(jù)沒有加進(jìn)去荔睹,開始我以為是
plus()
方法沒執(zhí)行,但是后來打印發(fā)現(xiàn)循環(huán)也是進(jìn)去了的言蛇,百思不得其解
-
查看源碼之后僻他,發(fā)現(xiàn)問題的所在了,調(diào)用
plus()
方法之后返回的是一個(gè)新的對象腊尚,之前的imagePath對象并不會發(fā)生任何變化
總結(jié)
- kotlin的用法還是和Java用法有很不同之處吨拗,雖然是個(gè)很簡單,細(xì)微的東西婿斥,但是用之前還是要看看源碼和用法劝篷,以免出現(xiàn)我上面那種低級錯誤,會浪費(fèi)很多時(shí)間