根据我的理解,如果A类和B类没有任何参数,那么ClassTag
可以在这里使用,但由于他们确实有参数,不知道我怎么能避免在这里创建2个方法,一个用于SimpleA,另一个用于SimpleB身体..Scala - 使用参数实例化泛型?
trait Simple {
val id: UUID
val name: String
}
case class SimpleA(id: UUID, name: String) extends Simple
case class SimpleB(id: UUID, name: String) extends Simple
def fromTupleToSimple[T <: Simple](sf: (UUID, String)): T = new T(sf._1, sf._2)
试图实例化T给出了错误class type required but T found
。不知道这些类型的问题通常如何解决。
我想'''高清fromTupleToSimple(SF:(UUID,字符串)):Simple'''应该足够 –
只是好奇,这是什么用例呢?我的意思是,如果没有其他参数(要选择实例化哪个类),为什么你会有两个类? –
@ insan-e那么,有些方法只能接收SimpleA和其他SimpleB,它们表示diff实体。 – Sofia