如何在给定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}
确实是最好的选择
从概念上讲,Scalaobject
成员类似于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还应该让静态方法可以通过它访问。