Un'istanza di un non-classe Java statico interno da JRuby
-
18-09-2019 - |
Domanda
Quindi, dato la seguente classe Java:
class Outer
{
private int x;
public Outer(int x) { this.x = x; }
public class Inner
{
private int y;
public Inner(int y) { this.y = y; }
public int sum() { return x + y; }
}
}
posso creare un'istanza della classe interna da Java nel seguente modo:
Outer o = new Outer(1);
Outer.Inner i = o.new Inner(2);
Tuttavia, non posso sembrare come fare lo stesso da JRuby
#!/usr/bin/env jruby
require 'java'
java_import 'Outer'
o = Outer.new(1);
i = o.Inner.new(2); #=> NoMethodError: undefined method `Inner' for #<Outer...>
Qual è il modo corretto di fare questo?
Soluzione
i = Outer::Inner.new(o,2)
Altri suggerimenti
Da quello che si può vedere nella questa discussione , dovrete fare Outer:Inner.new(o, 2)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow