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的泛型可以提高代碼的復用性和安全性,使代碼更加靈活和可維護。