복붙노트

[SCALA] 어떻게 자바에서 스칼라 싱글 톤 객체를 사용할 수 있습니까?

SCALA

어떻게 자바에서 스칼라 싱글 톤 객체를 사용할 수 있습니까?

나는 자바 클래스에서 사용할 필요가있는 스칼라 객체가 있습니다.

다음은 스칼라 객체입니다

object Person {
  val MALE = "m"
  val FEMALE = "f"
}

어떻게 자바에서이 스칼라 객체를 사용할 수 있습니까?

나는 다음과 같은 지금까지 성공하지 않고 (컴파일 에러)를 시도했다 :

해결법

  1. ==============================

    1.사용 사람 $ .MODULE 달러. 또한보십시오

    사용 사람 $ .MODULE 달러. 또한보십시오

    편집 : 동작하는 예제 (내가 컴파일 및 작동 확인) : 스칼라 :

    object Person {
      val MALE = "m";
    }
    

    자바 대응 :

    public class Test {
        Person$ myvar = Person$.MODULE$;
    
        public static void main(String argv[]) {
            System.out.println(new Test().myvar.MALE());
        }
    }
    
  2. ==============================

    2.당신이 패키지 개체를 사용하는 경우, 액세스는 비트 다른입니다

    당신이 패키지 개체를 사용하는 경우, 액세스는 비트 다른입니다

    규모 :

    package my.scala.package
    
    package object Person {
      val MALE = "m";
    }
    

    자바 대응 :

    public static void main() {
      System.out.println(my.scala.package.Person.package$.MODULE$.MALE);
    }
    
  3. from https://stackoverflow.com/questions/12284028/how-can-i-use-a-scala-singleton-object-in-java by cc-by-sa and MIT license