11
有沒有一種方法可以將一個Java對象從JRuby中顯式投射到另一個Java類中?在JRuby中鑄造對象
有時我希望能夠從JRuby調用SomeJavaClass#aMethod(MySuperClass)
而不是SomeJavaClass#aMethod(MyClass)
。
從Java,我應該這樣做:
someJavaObject.aMethod((MySuperClass) myObj);
,但我沒有看到一個#cast
紅寶石方法或類似的東西做從JRuby的等價物。
注意問題Casting Java Objects From JRuby缺乏一般情況下的答案,這就是爲什麼我重新問這個問題。
我認爲如果你想轉換成非原始類,你應該使用完整的層次結構。因此,比如,要將'obj'強制轉換爲'ij.text.TextWindow'類,您必須編寫'obj.to_java(Java :: Ij :: text :: TextWindow)'。 – gregoltsov 2012-10-03 14:12:14