scala中的Type使用
trait Base { val name: String } case class S( name: String, age: Int ) extends Base case class F( name: String, tel: Long ) extends Base case class Info[T <: Base]( b: T, time: String ) object Test extends App { override def main(String args): Unit = { val i = Info(F("Jim", 23212341), "15:15:30") i match { case info @ Info(b: F, time) => println(s"F info: $info") case info @ Info(b: S, time) => println(s"S info: $info") } } } 一、scala 使用 generic 通用类型如何做模式匹配 上述的case class Info在模式匹配时,需要使用 case info @ Info(b: S, time) => 代替传统的 case info:Info => 如果用下面的,编译时会有警报 non variable type-argument String in