gpt4 book ai didi

Scala:从 ClassTag 中检索类名

转载 作者:行者123 更新时间:2023-12-04 16:06:25 26 4
gpt4 key购买 nike

我正在编写一个通用方法,它可以将Any 类型参数转换为传递的ClassTag[T] 类型的对象,如果可能。

def getTypedArg[T: ClassTag](any: Any): Option[T] = {
any match {
case t: T => Some(t)
case invalid =>
logger.warn(s"Invalid argument: $invalid")
None
}
}

我希望日志消息像这样更精确:

case invalid => logger.warn(s"Invalid argument: $invalid of type $className")

如何从 ClassTag[T] 中检索 className

或者,是否有一种根本不同的方法可以更好地服务于我的用例?

最佳答案

添加这条导入语句

import scala.reflect._

并将日志语句更改为,

logger.warn(s"Invalid argument: $invalid of type ${classTag[T].runtimeClass}")

这是取自 Scala classOf for type parameter

关于Scala:从 ClassTag 中检索类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48576345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com