Scala的泛型是通过类型参数来实现的,可以在类、特质、方法等地方使用类型参数。在定义时使用类型参数,然后在实例化对象或调用方法时传入具体的类型。
例如,定义一个泛型类:
class Box[T](value: T) {
def getValue: T = value
}
val intBox = new Box[Int](10)
val stringBox = new Box[String]("Hello")
在上面的例子中,Box类接受一个类型参数T,然后在实例化时传入具体的类型Int或String。这样可以在类中使用这个类型参数T,实现泛型的效果。
除了类,Scala还支持在方法中使用类型参数,可以在方法定义时指定类型参数,并在调用方法时传入具体的类型。例如:
def printElement[T](element: T): Unit = { println(element) } printElement(10) printElement("Hello")
上面的例子中,printElement方法接受一个类型参数T,然后在调用方法时传入具体的类型Int或String,实现了泛型的效果。Scala的泛型可以提高代码的复用性和安全性,使代码更加灵活和可维护。