【发布时间】:2020-01-28 14:08:54
【问题描述】:
我想用isInstanceOf来决定一个变量的类型,
但是isInstanceOf[T] 需要 T 并且 T 必须是在编译时确定的类。我希望我可以把它变成一个变量。
查看示例代码:
class A{ ... }
class B{ ... }
val class_map = Map( classOf[A] -> 1, classOf[B] -> 2 )
val a = new A()
class_map.keys foreach { i =>
if (a.isInstanceOf[ i ]) // how to make this statement work?
println(class_map[i])
}
【问题讨论】:
-
isInstanceOf通常是代码异味,这看起来像是 XY 问题,您能描述一下您想要解决的更广泛的问题吗?可能有更好的选择。