在Scala中,泛型的使用方法与Java类似,可以在类、方法和函数等地方使用泛型。以下是一个简单的示例:
// 定义一个参数化类型的类
class Box[T](value: T) {
def getValue: T = value
}
// 使用泛型类
val intBox = new Box[Int](10)
println(intBox.getValue) // 输出:10
val strBox = new Box[String]("Hello")
println(strBox.getValue) // 输出:Hello
// 泛型方法
def printValue[T](value: T): Unit = {
println(value)
}
printValue(10) // 输出:10
printValue("Hello") // 输出:Hello
在上面的示例中,Box
类是一个参数化类型的类,通过[T]
指定泛型类型。在实例化Box
类的时候需要指定具体的类型,比如Box[Int]
和Box[String]
。泛型方法printValue
也是类似的,通过[T]
指定泛型类型,在调用时可以传入不同的类型参数。