2014-01-09 38 views
3

我学习Scala和我无法弄清楚如何正确在斯卡拉使用来自Java库的命令。我在下面展示了在命令行中要做什么。正确使用Java库在斯卡拉

[email protected]:~$ scala 
Welcome to Scala version 2.9.2 (OpenJDK 64-Bit Server VM, Java 1.7.0_25). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> import java.text._ 
import java.text._            ^


scala> println(java.text.DateFormat.getCalendar()) 
<console>:11: error: value getCalendar is not a member of object java.text.DateFormat 
       println(java.text.DateFormat.getCalendar()) 
             ^

scala> println(java.text.getCalendar()) 
<console>:11: error: object getCalendar is not a member of package java.text 
       println(java.text.getCalendar()) 
           ^

scala> println(getCalendar()) 
<console>:11: error: not found: value getCalendar 
       println(getCalendar()) 
        ^

scala> getCalendar() 
<console>:11: error: not found: value getCalendar 
       getCalendar() 
      ^

scala> 
+1

'getCalendar'在'DateFormat'上不是静态的。 –

+1

正因为如此你的问题不在于对Scala的一面,但在Java端。等效的Java代码也会失败。 – ziggystar

回答

7

明确的REPL错误消息显示getCalendar没有为DateFormat类中定义。您可以简单地致电Calendar#getInstance()

scala> import java.util.Calendar 
import java.util.Calendar 

scala> println(Calendar.getInstance().getTime()) 
+0

完美!我喜欢这个答案的格式。 –

+0

我喜欢编辑!这非常有用。 –

5
java.text.DateFormat.getCalendar() 

不会在Java中工作,因为getCalendarDateFormat一个实例方法。

如果你想获得一个日历尝试使用Calendar.getInstance(Locale)

+0

谢谢,但我如何在Scala中做到这一点?我该输入什么,如何输入? –

+2

进口java.util.Calendar中的println(Calendar.getInstance) –

+0

@DanW感谢!好吧,我明白如何做到这一点。 –