在Scala中获取泛型参数有多种方法,以下是其中几种常见的方式:
class Box[T](content: T) {
def getContent: T = content
}
val box = new Box("Hello")
val content = box.getContent // 获取泛型参数的值
在上述示例中,Box类使用T来表示泛型参数,getContent方法返回泛型参数的值。
def printList[T <: Iterable[_]](list: T): Unit = {
list.foreach(println)
}
printList(List(1, 2, 3)) // 打印列表中的元素
在上述示例中,printList方法使用[T <: Iterable_]来表示泛型参数必须是可迭代的类型。
import scala.reflect.runtime.universe._
def getTypeTag[T: TypeTag](obj: T): Type = {
typeOf[T]
}
val tag = getTypeTag(List(1, 2, 3)) // 获取泛型参数的类型信息
在上述示例中,getTypeTag方法使用TypeTag来获取泛型参数的类型信息。
这些是在Scala中获取泛型参数的几种常见方法。根据具体的使用场景和需求,可以选择适合的方法来获取泛型参数。
领取专属 10元无门槛券
手把手带您无忧上云