var className = "scala.collection.immutable.List"
val clazz = Class.forName(className)
val value = ArrayBuffer(1, 2, 3)
si la question est de savoir comment jeter la valeur à la classe, si className est variable? Je ne peux pas faire
value.asInstanceOf[clazz.type]
mais je peux appeler
value.toList
et il fait le travail avec la méthode de conversion implicite, mais comment je peux trouver et invoquer cette méthode lorsque className est variable?
Le paramètre dans 'asInstanceOf' ne peut pas être représenté avec une variable, c'est une entité à la compilation. Valeur 'clazz.type' OTOH n'existe qu'au moment de l'exécution. –
Thanx, cap. La question est de savoir comment lancer ArrayBuffer (1, 2, 3) en List à l'exécution quand je n'ai que className ... –
Je ne pense pas que ce que vous faites soit sage mais voici: https: // docs. oracle.com/javase/7/docs/api/java/lang/Class.html#cast(java.lang.Object) –