字符串链接,在Java中只能使用+来链接,当然除了StringBuilder、StringBuffer除外。而在Kotlin中除了使用+以外,还可以使用plus()函数。其接受任意类型。plus()函数是一个运算符重载函数。
实例讲解:
val oldStr = "kotlin"
println(oldStr.plus(" very good"))
println(oldStr + " very good")
输出结果为:
kotlin very good
kotlin very good
工作中遇到的问题
-
最近项目有个这样的需求,添加图片上传,要把多张图片地址以
|
的方式拼接起来,传给服务器(多张图片以|隔开) -
当时看到这个,我想当然的觉得用plus()函数替代Java中的+号就可以了,于是又有下面这段代码
代码块示例 -
运行之后的结果,并不是我想的那样,字符串根据没有加进去,开始我以为是
运行结果plus()
方法没执行,但是后来打印发现循环也是进去了的,百思不得其解
-
查看源码之后,发现问题的所在了,调用
源码plus()
方法之后返回的是一个新的对象,之前的imagePath对象并不会发生任何变化
总结
- kotlin的用法还是和Java用法有很不同之处,虽然是个很简单,细微的东西,但是用之前还是要看看源码和用法,以免出现我上面那种低级错误,会浪费很多时间
网友评论