2017-01-10 1 views
1

Je me demande s'il existe un moyen de lancer un objet Java dans Rhino? Je le ferais habituellement en Java en faisant ce qui suit:Lancer un objet java dans Mozilla Rhino

List<Object[]> mylist = myServiceClass.getList(id); 
for (Object[] object : myList) { 

    Apple a = (Apple) object[0]; 
    // do something  
} 

Mais dans Rhino, je ne suis pas sûr. Y a-t-il un moyen de faire cela?

J'ai essayé:

apple = myList.get(i) 

Et:

apple = (Packages.com.package.fruits.Apple) myList.get(i); 

Je l'erreur persiste

Java class "[Ljava.lang.Object;" has no public instance field or method named "getColour" when trying to access the apple object. 
+0

[Est-ce que vous êtes après] (https://developer.mozilla.org/en -US/docs/Mozilla/Projects/Rhino/Embedding_tutorial # expos)? Plus de contexte de votre code Rhino pourrait être utile – Michael

Répondre

1

Vous n'avez pas besoin de lancer en javascript. Mais vous devez appeler la méthode sur l'objet correct. Le message d'erreur indique que vous appelez la méthode sur un Object [] (The [avant que L donne cela).

Pour obtenir le premier objet de l'objet [] avant d'appeler getColour() sur elle

myList.get(i)[0].getColour()