从Java访问Scala独立单例对象

时间:2012-05-22 19:59:12

标签: java scala singleton scala-java-interop

我无法在Scala中访问fromString方法。我试过javap,至少我访问的方法之一应该是工作,但事实并非如此。

App.scala

object App { 
 def fromString(s:String) : Option[Int] =  if( s == "0" ) Some(0) else None
}

Test.java

public class Test {
    public static void main(String[] args){
           //THEY ALL GIVE COMPILER ERRORS
           //App.fromString("");
           //App$.fromString("") ;
           //App$.MODULE$.fromString("");

    }
}

JAVAP OUTPUTS

javap App 编译自“App.scala”

public final class App extends java.lang.Object{
    public static final scala.Option fromString(java.lang.String);
}

javap App $ 编译自“App.scala”

public final class App$ extends java.lang.Object implements scala.ScalaObject{
    public static final App$ MODULE$;
    public static {};
    public scala.Option fromString(java.lang.String);
}

1 个答案:

答案 0 :(得分:1)

我刚刚在Eclipse中尝试过它,并且是预期的

App.fromString("");

编译好。 Eclipse显示错误“App无法解析”,但我学会了忽略Eclipse的错误。

也许你没有把你的课程放在同一个包里?