一、可空

 

二、泛型

变量类型的参数化

1.最基本泛型

fun main() {
var a: A<String> = A<String>("hello")
a.test()
//简写,可以不使用<>
var b = A("hello")
b.test()

}

data class A<T>(var t:T){
fun test(){
println(t)
}
}

 

2.协变

 

3.逆变