¿Hay alguna manera de convertir explícitamente un objeto Java a otra clase Java de JRuby?Casting de objetos en JRuby
A veces deseo poder invocar SomeJavaClass#aMethod(MySuperClass)
en lugar de SomeJavaClass#aMethod(MyClass)
de JRuby.
De Java, que haría esto:
someJavaObject.aMethod((MySuperClass) myObj);
pero no vi un método #cast
rubí o algo por el estilo para hacer el equivalente de JRuby.
Nota que la pregunta Casting Java Objects From JRuby no tiene respuesta para el caso general, por lo que estoy volviendo a hacer la pregunta.
Creo que sería útil agregar que si está tratando de convertir a clases no primitivas, debe usar la jerarquía completa. Así que, por ejemplo, para convertir la clase 'obj' a' ij.text.TextWindow', tendría que escribir 'obj.to_java (Java :: Ij :: text :: TextWindow)'. – gregoltsov