首先看可变参数 vararg的使用:
fun kebiancanshu() {
val list = listOf(1, 45, 36)
//listOf源码
//public fun <T> listOf(vararg elements: T): List<T> = if (elements.size > 0) elements.asList() else emptyList()
}
- 上面可以看在Kotlin使用了 vararg 代替了 Java中的... 声明了可变参数
- 与Java不用的一点是如果在传入参数是已经包装在数组中的参数时,在Java中会原样传递数组,而Kotlin则要求你显示着解包数组,以便于每个数组元素能作为单独的参数来调用
- 从技术角度讲这个功能被称为"展开运算符",而在使用的时候不过是在参数前面放一个 “*”
fun testVararg(args: Array<String>) {
val list = listOf("test", * args)
println(list)
}
使用parcelabe时,要实现一些模板方法,使用这个就可以不用写了,自动生成
怎样使用:
gradle
apply plugin: 'kotlin-android-extensions'
androidExtensions {
experimental = true
}
import kotlinx.android.parcel.Parcelize
@Parcelize
class User(val firstName: String, val lastName: String, val age: Int): Parcelable