11
JRubyからJavaオブジェクトを別のJavaクラスに明示的にキャストする方法はありますか?JRubyでのオブジェクトのキャスト
JRubyのSomeJavaClass#aMethod(MyClass)
ではなく、SomeJavaClass#aMethod(MySuperClass)
を呼び出すことができます。
Javaから、私はこれを行うだろう:
someJavaObject.aMethod((MySuperClass) myObj);
を私はJRubyのから同等の操作を行うためにそのよう#cast
ルビー法または何も表示されませんでした。
Casting Java Objects From JRubyの質問には、一般的なケースの回答がないことがわかります。そのため、私は質問しています。
非プリミティブなクラスにキャストしようとしている場合は、完全な階層を使用することをお勧めします。つまり、 'obj'を' ij.text.TextWindow'クラスにキャストするには、 'obj.to_java(Java :: Ij :: text :: TextWindow)'と書かなければなりません。 – gregoltsov