我想返回一个数据类型作为scala中函数的返回值。我尝试了下面的函数。
def typeGetterFun(`type`: DataType) = `type` match {
case StringType => String
case LongType => Long
case IntegerType => Int
}
错误:
error: object java.lang.String is not a value
case StringType => String
我还尝试使用类型标记,但也不起作用
def typeGetter(`type`:DataType): Any = `type` match {
case StringType => universe.TypeTag[String]
case x:DecimalType => universe.TypeTag[java.math.BigDecimal]
case LongType => universe.TypeTag[Long]
case IntegerType => universe.TypeTag[Int]
}
我们需要传递mirror和apply方法的另一个参数。
我不知道如何做到这一点。我想要一个通用的一样,我正在尝试以上。
1条答案
按热度按时间2jcobegt1#
很难猜出你将如何使用这个函数。
根据您的使用情形,您可以尝试
Type
或
TypeTag
或
Class
或
ClassTag
或类型类