rJava 解析日期字符串,找不到方法

rJava parse date string, method not found

在 R 3.3.3 中,在 Linux (RHEL 6.9) 上使用包 rJava(版本 0.9-9),运行,我遇到错误 运行 下面一段代码从 R 字符串创建 Java 日期:

library(rJava)

rDateString <- "2016-01-01 10:00:00"

.jinit()
df <- .jnew("java/text/SimpleDateFormat", "yyyy-MM-dd HH:mm:ss")
pp <- .jnew("java/text/ParsePosition", as.integer(0))
d <- .jcall(df, "Ljava/util/Date", "parse", rDateString, pp)

这会产生以下错误:

Error in .jcall(df, "Ljava/util/Date", "parse", rDateString, pp) : 
  method parse with signature (Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date not found

这让我很困惑,因为这个方法应该是可用的。在我的 SimpleDateFormat 对象上调用 .jmethods,导致 (snip):

> .jmethods(df)
 [5] "public java.util.Date java.text.SimpleDateFormat.parse(java.lang.String,java.text.ParsePosition)"  

因此,据我所知,我遵守了 parse 方法签名,但仍然存在错误。谁能阐明我在这里缺少的东西?非常感激。

缺少分号(Ljava/util/Date => Ljava/util/Date;):

d <- .jcall(df, "Ljava/util/Date;", "parse", rDateString, pp)
d
[1] "Java-Object{Fri Jan 01 10:00:00 CET 2016}"