0
我:斯卡拉類鑄件
var className = "scala.collection.immutable.List"
val clazz = Class.forName(className)
val value = ArrayBuffer(1, 2, 3)
所以問題是怎麼投的價值類,如果類名是變量?我不能做
value.asInstanceOf[clazz.type]
,但我可以打電話給
value.toList
和它的工作與隱式轉換的方法,但我怎麼能找到並調用此方法時的className變量?
'asInstanceOf'中的參數不能用變量表示,它是編譯時實體。 'clazz.type'值OTOH僅在運行時存在。 –
Thanx,cap。現在的問題是如何在運行時將ArrayBuffer(1,2,3)強制轉換爲List,但我只有className ... –
我不認爲這是明智的,但在這裏它是:https:// docs。 oracle.com/javase/7/docs/api/java/lang/Class.html#cast(java.lang.Object) –