如何从Scala访问Java静态方法,给出它所驻留的类的别名

Tim*_*ske 11 java static-methods scala type-alias

给定类型别名type Cal = java.util.Calendar如何static getInstance访问该方法?我在Scala REPL中尝试了以下内容:

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
                       ^
Run Code Online (Sandbox Code Playgroud)

import java.util.{Calendar => Cal}其次import Cal._真的是我最好的选择?

mis*_*tor 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
                           ^
Run Code Online (Sandbox Code Playgroud)