扩展函数可以对无法继承的类实现方法的扩展。可以在任意.kt文件中定义扩展函数
一、标准扩展函数
fun String.addExt(num:Int):String{
return this +"!".repeat(num)
}
//对应的java方法
public static final String addExt(@NotNull String $this$addExt, int num) {
Intrinsics.checkNotNullParameter($this$addExt, "$this$addExt");
return $this$addExt + StringsKt.repeat((CharSequence)"!", num);
}
二、泛型扩展函数
fun <T> T.easyPrint():T{
println(this)
return this
}
更多泛型扩展函数参考标准库Standard.kt
三、扩展属性
除了给类添加扩展函数,还可以给类添加扩展属性
val String.numVowels
get() = count { "aeiou".contains(it) }