我正在Kotlin中开发一些库,我没有找到这个解决方案,
我该如何解决这个问题,据说创建扩展函数 File?.plus,在 java 中它工作正常,但在Kotlin中如何编写这段代码?
您无需编写更多代码,只需将加号 (+) 更改为逗号 (,)。
val sdcard = File(Environment.getExternalStorageDirectory(), "/PicTaker/Images")
你有三个选择:
1)通过调用连接两个字符串的结果来避免将 aFile
与 a连接。String
toString()
val sdCard = File(Environment.getExternalStorageDirectory().toString() + "/PicTaker/Images")
2)编写该扩展函数并返回一个字符串
private operator fun File?.plus(s: String): String {
return this.toString() + s
}
3)使用字符串模板
val sdCard = File("${Environment.getExternalStorageDirectory()}/PicTaker/Images")
添加toString()
:
val sdcard = File(Environment.getExternalStorageDirectory().toString() + "...")
在 Kotlin 中,我们可以对 + 进行运算符重载,而 Kotlin 编译器认为您正在尝试对File?
类型使用重载的加号运算符。并提供一个选项来创建扩展功能File?