How to access a Java static method from Scala given a type alias for that class it resides in

ⅰ亾dé卋堺 提交于 2020-01-01 02:47:47

问题


Given the type-alias type Cal = java.util.Calendar how can the static getInstance method be accessed? I tried the following in 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
                       ^

Is import java.util.{Calendar => Cal} followed by import Cal._ really my best bet?


回答1:


You can't.

Yes, import java.util.{Calendar => Cal} is really your best bet.

Conceptually, Scala object members are similar to static members of Java classes. This might suggest the following would work, but it doesn't since there are actually no singleton objects available for Java classes.

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


来源:https://stackoverflow.com/questions/7668262/how-to-access-a-java-static-method-from-scala-given-a-type-alias-for-that-class

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!