6.6 泛型类

声明一个泛型类

  1. class Box<T>(t: T) {
  2. var value = t
  3. }

通常, 要创建这样一个类的实例, 我们需要指定类型参数:

  1. val box: Box<Int> = Box<Int>(1)

但是, 如果类型参数可以通过推断得到, 比如, 通过构造器参数类型, 或通过其他手段推断得到, 此时允许省略类型参数:

  1. val box = Box(1) // 1 的类型为 Int, 因此编译器知道我们创建的实例是 Box<Int> 类型