Kotlin:创建扩展函数文件?plus

时间:2017-08-22 11:31:43

标签: android file kotlin kotlin-extension

我正在 Kotlin 开发一些lib,我找不到这个解决方案,

enter image description here

我如何解决这个问题,它说创建扩展功能文件?.plus , 在java中它的工作正常,但在 Kotlin 中如何编写这段代码?

先谢谢你。

3 个答案:

答案 0 :(得分:6)

您不需要发明更多代码,只需将加号(+)更改为逗号(,)即可。

val sdcard = File(Environment.getExternalStorageDirectory(), "/PicTaker/Images")

答案 1 :(得分:4)

您有三种选择:

1)通过调用File结果两个字符串的结果,避免让StringtoString()结束。

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/Image‌​s")

答案 2 :(得分:3)

添加toString()

val sdcard = File(Environment.getExternalStorageDirectory().toString() + "...")

在Kotlin中,我们可以对+进行运算符重载,而Kotlin编译器认为您正在尝试使用File?类型的重载加运算符。并提供了一个创建File?

扩展功能的选项