如何在给定Java静态方法所在类的类型别名的情况下从Scala访问Java静态方法

如何在给定Java静态方法所在类的类型别名的情况下从Scala访问Java静态方法,java,scala,static-methods,type-alias,Java,Scala,Static Methods,Type Alias,给定类型别名type Cal=java.util.Calendar如何访问staticgetInstance方法?我在Scala REPL中尝试了以下操作: scala> type Cal = java.util.Calendar defined type alias Cal scala> Cal.getInstance <console>:8: error: not found: value Cal Cal.getInstance

给定类型别名
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
                       ^
scala>type Cal=java.util.Calendar
定义的类型别名Cal
scala>Cal.getInstance
:8:错误:未找到:值校准
Cal.getInstance
^
scala>val-Cal=java.util.Calendar
:7:错误:对象日历不是值
val Cal=java.util.Calendar
^
import java.util.{Calendar=>Cal}
后面跟着
import Cal.\u
真的是我的最佳选择吗?

你不能

是的,
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
                           ^
scala>val-Cal=java.util.Calendar
:13:错误:对象日历不是值
val Cal=java.util.Calendar
^

我想你也可以直接用
对象Cal
手动包装整个过程。有人可能会争论什么样的解决方案是最好的选择。为了一致性和让类型别名完全替代类型,我认为Scala还应该让静态方法可以通过它访问。