2011-10-05 2 views
11

type Cal = java.util.Calendar 유형이 제공되면 어떻게 staticgetInstance 메서드에 액세스 할 수 있습니까?해당 클래스에 대한 유형 별칭이 지정된 경우 스칼라에서 Java 정적 메서드에 액세스하는 방법

scala> type Cal = java.util.Calendar 
defined type alias Cal 
scala> Cal.getInstance 
<console>:8: error: not found: value Cal 
      Cal.getInstance 
     ^
scala> val Cal = java.util.Calendar 
<console>:7: error: object Calendar is not a value 
    val Cal = java.util.Calendar 
        ^

import java.util.{Calendar => Cal}import Cal._ 정말 내 최선의 뒤에 : 나는 스칼라 REPL에서 다음과 같은 시도?

+2

형식 일관성을 유지하기 위해 유형 별칭을 완전히 대체하려면 유형을 통해 스칼라에서 정적 메서드를 통해 액세스 할 수 있어야한다고 생각합니다. –

답변

12

수 없습니다.

예, import java.util.{Calendar => Cal}이 최선의 방법입니다.

개념적으로 Scala object 구성원은 Java 클래스의 정적 멤버와 비슷합니다. 이것은 다음과 같이 동작 할 수도 있지만 실제로는 Java 클래스에서 사용할 수있는 싱글 톤 객체가 없기 때문에 아닙니다.

scala> val Cal = java.util.Calendar 
<console>:13: error: object Calendar is not a value 
     val Cal = java.util.Calendar 
         ^
+0

나는'object Cal'에서 모든 것을 수동으로 감쌀 수 있다고 생각합니다. 어떤 솔루션이 ** 최선의 방법이라고 주장 할 수 있습니다 **. – agilesteel

관련 문제