在使用像FastUtils这样的框架和 Scala 时,由于框架本身具有专门的数据结构,您如何根据有效的专业化生成适当的代码?即,您如何以编程方式找出什么是专门化的并执行适当的代码?那么在这种情况下如何处理与路径相关的类型。
为了objects
class Container[@specialized T](var window: Int) {
val data = new ObjectArrayList[T](window)
}
因为char
我希望它是:
class Container[@specialized T](var window: Int) {
val data = new CharArrayList(window)
}
但这应该是基于专业化的T
。如果我要换一种说法,sudo 代码可能会像
class Container[@specialized T](var window: Int) {
val data = specialisationOf(T) match {
case "Char" => new CharArrayList(window)
case "Int" => new IntegerArrayList(window)
...
...
...
case _ => new ObjectArrayList[T](window)
}
}