Scala实现多种泛型类型

时间:2019-05-24 09:04:07

标签: scala

请查看此类:

class MainClass(firstName:String) extends GenericClass[(Int,String,Long)](firstName,"David")
class GenericClass[T](str1: String, str2: String)    

scala如何实现多种类型并将其映射到单个泛型类型?
我的意思是GenericClass仅具有一个名为GenericClass[T]的单一类型,但MainClass对此进行了扩展并实现了多个类型GenericClass[(Int,String,Long)]

我在光滑orm上学习此代码:

class Suppliers(tag: Tag) extends Table[(Int, String, String, String, String, String)](tag, "SUPPLIERS") { ... }

可以用Java语言做到这一点吗?

1 个答案:

答案 0 :(得分:5)

GenericClass[T]的类型参数为T。该参数可以用任何类型替换。在您的情况下,GenericClass[T]由元组(Int,String,Long)参数化,而元组Tuple3[Int,String,Long]仅是class MainClass(firstName:String) extends GenericClass[Tuple3[Int,String,Long]](firstName,"David") 的语法糖,因此您可以将其中一个替换为另一个而没有任何更改:

Tuple3

注意:expo: ^32.0.0 react: 16.5.0 react-navigation: ^3.11.0 是一种带有三种类型参数的类型。没有多种类型。

据我所知,java中没有等效的元组类,但是您可以自己创建它,也可以只使用javatuples之类的库