针对实际开发中的各种utils
定义:
1.为现有类添加方法、属性
2.java调用扩展成员类似调用静态方法
//java中TextUtils.isEmpty()的实现
public static boolean isEmpty(@Nullable CharSequence str) {
return str == null || str.length() == 0;
}
Kotlin 扩展方法
private var text:String?=null
fun String?.isEmpty(): Boolean{
return this == null || this.length == 0
}
fun main() {
val empty = text.isEmpty()
}
同样支持扩展操作符方法
operator fun String.times(int: Int): String{
val stringBuilder = StringBuilder()
for(i in 0 until int){
stringBuilder.append(this)
}
return stringBuilder.toString()
}
fun main() {
println("abc" * 16)
}
kotlin扩展属性,扩展属性不支持backfield
var String.a: String
get() = "abc"
set(value) {
field=value//field报错找不到
}
网友评论