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

时间:2018-04-11 09:29:21

标签: java r rjava

在R 3.3.3中,使用在Linux上运行的软件包rJava(版本0.9-9)(RHEL 6.9),运行以下代码时遇到错误,从R字符串创建Java日期:< / p>

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会导致(剪辑):

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

所以,据我所知,我正在遵守parse方法签名,但仍然存在错误。谁能解释一下我在这里缺少的东西?非常感激。

1 个答案:

答案 0 :(得分:0)

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

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