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

时间:2011-10-05 21:58:35

标签: java scala static-methods 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
                       ^

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

1 个答案:

答案 0 :(得分: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
                           ^