Kotlin教程:泛型及示例

泛型是高级编程语言中强大的功能,允许定义使用不同类型访问的类,方法和属性等。 在编译时检查类,方法等的类型差异。

泛型类或类声明为参数化类型。 参数化类型是具有实际类型参数的泛型类型的实例。 参数化类型使用尖括号声明泛型主要用于集合。

泛型的优点

以下是使用泛型的主要优点:

  • 类型安全:通用允许仅保留单一类型的对象。泛型不允许存储其他对象。
  • 不需要类型转换:不需要对对象进行类型转换。
  • 编译时间检查:在编译时检查泛型代码,以便在运行时避免任何问题。

下面来看看在不使用泛型的情况下的存在的一些问题。

在此示例中,使用具有单个参数的主构造函数创建Person类。 现在,要在Person类的对象中传递不同类型的数据(比如Int类型为Person(30)String类型为Person("40"))。 Person类的主要构造函数接受Int类型Person(30),但是又想接受String类型的Person("40")。它会在类型不匹配时生成编译时错误。

class Person (age:Int){
    var age: Int = age
    init {
        this.age= age
        println(age)
    }
}
fun main(args: Array){
    var ageInt: Person = Person(30)
    var ageString: Person = Person("30")// 编译时出错
}