2011-10-17 2 views
14

Je rencontre des problèmes pour accéder aux champs d'un objet scala à partir de Java.Accès aux champs d'objet scala à partir de Java

Scala:

object TestObject { 
    val field = 5 
} 

Java:

public class JavaTest 
{ 
    public static void main(String[] args) 
    { 
    int i = TestObject.field; 
    } 
} 

Erreur:

[error] JavaTest.java: cannot find symbol 
[error] symbol : variable field 
[error] location: class TestObject 
[error]  int i = TestObject.field; 
+0

Pour voir tous les membres du public utilisent: 'javap -classpath '. Par exemple. 'javap -classpath target/scala-2.9.1.final/classes TestObject' – dsg

Répondre

16

champs Scala sont des variables privées avec un getter du même nom pour préserver immuabilité.

public class JavaTest 
{ 
    public static void main(String[] args) 
    { 
    int i = TestObject.field(); 
    } 
} 
Questions connexes