请查看此类:
class MainClass(firstName:String) extends GenericClass[(Int,String,Long)](firstName,"David")
class GenericClass[T](str1: String, str2: String)
Run Code Online (Sandbox Code Playgroud)
Scala如何实现并将多个类型映射到单个泛型类型?
我的意思是GenericClass仅具有一个Single类型,GenericClass[T]
但MainClass对此进行了扩展并实现了多个类型GenericClass[(Int,String,Long)]
我在光滑的orm上学习了这段代码:
class Suppliers(tag: Tag) extends Table[(Int, String, String, String, String, String)](tag, "SUPPLIERS") { ... }
Run Code Online (Sandbox Code Playgroud)
可以用Java语言做到这一点吗?
GenericClass[T]
具有类型参数T
。该参数可以用任何类型替换。在您的情况下GenericClass[T]
,通过元组(Int,String,Long)
对参数进行了参数化,该元组只是的语法糖Tuple3[Int,String,Long]
,因此您可以将其替换为另一个,而无需进行任何更改:
class MainClass(firstName:String) extends GenericClass[Tuple3[Int,String,Long]](firstName,"David")
Run Code Online (Sandbox Code Playgroud)
注意:Tuple3
是一种具有三种类型参数的类型。没有多种类型。
据我所知,在Java中没有等效的tuple类,但是您可以自己创建它,也可以只使用javatuples之类的库
归档时间: |
|
查看次数: |
46 次 |
最近记录: |