Scalaクラスで使用する必要があるJavaオブジェクトがあります。
Scalaオブジェクト
_object Person {
val MALE = "m"
val FEMALE = "f"
}
_
JavaでこのScalaオブジェクトを使用するにはどうすればよいですか?
私はこれまでに成功せずに次のことを試しました(コンパイルエラー)。
Person.MALE()
//実際のPersonオブジェクトが欲しいので役に立たない文字列を返します使用する Person$.MODULE$
。こちらもご覧ください
Edit:実用的な例(私は確認しましたが、コンパイルして動作します):Scala:
object Person {
val MALE = "m";
}
対応するJava:
public class Test {
Person$ myvar = Person$.MODULE$;
public static void main(String argv[]) {
System.out.println(new Test().myvar.MALE());
}
}
package object
を使用する場合、アクセスは少し異なります
Scala:
package my.scala.package
package object Person {
val MALE = "m";
}
対応するJava:
public static void main() {
System.out.println(my.scala.package.Person.package$.MODULE$.MALE);
}