Scala でFastUtilsのようなフレームワークを使用する場合、フレームワーク自体が特殊化されたデータ構造を持っているため、効果的な特殊化に基づいて適切なコードをどのように生成しますか? つまり、何が特殊化されているかをプログラムでどのように把握し、適切なコードを実行するのでしょうか? では、そのような場合にパス関連の入力をどのように処理しますか。
為に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)
}
}