我尝试了以下内容:( .jnew("java/sql/Date", 1912324L))
使用rJava包)并获得以下内容:
.jnew错误("java/sql/Date",1912324L):java.lang.NoSuchMethodError:
我尝试时出现同样的错误.jnew("java/util/Date", 1912324L)
.
有关为什么会发生这种情况的任何想法?
NB:这很好用 .jnew("java/lang/String", "s")
必要的session_info():
Session info --------------------------------------------------------------------------------------
setting value
version R version 3.2.1 (2015-06-18)
system x86_64, darwin14.4.0
ui RStudio (0.99.441)
language (EN)
collate en_AU.UTF-8
tz Australia/Sydney
Packages ------------------------------------------------------------------------------------------
package * version date source
crayon 1.3.0 2015-06-05 CRAN (R 3.2.1)
curl 0.9 2015-06-19 CRAN (R 3.2.1)
devtools * 1.8.0 2015-05-09 CRAN (R 3.2.1)
digest 0.6.8 2014-12-31 CRAN (R 3.2.1)
git2r 0.10.1 2015-05-07 CRAN (R 3.2.1)
memoise 0.2.1 2014-04-22 CRAN (R 3.2.1)
Rcpp 0.11.6 2015-05-01 CRAN (R 3.2.1)
rJava * 0.9-6 2013-12-24 CRAN (R 3.2.1)
rversions 1.0.1 2015-06-06 CRAN (R 3.2.1)
testthat * 0.10.0 2015-05-22 CRAN (R 3.2.1)
xml2 0.1.1 2015-06-02 CRAN (R 3.2.1)
Run Code Online (Sandbox Code Playgroud)
并且...运行Java 1.6:
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-466.1-11M4716)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-466.1, mixed mode)
Run Code Online (Sandbox Code Playgroud)
构造函数java.sql.Date
接受一个long
as参数而你正在传递一个int
.由于R没有native float
和long
types,因此rJava
提供了转换数字R向量的函数.jfloat
和.jlong
函数.这有效:
.jnew("java/sql/Date", .jlong(1912324))
Run Code Online (Sandbox Code Playgroud)
请记住,您必须提供1970-01-01之间的毫秒数,因此您提供的值极不可能符合您的要求.
归档时间: |
|
查看次数: |
108 次 |
最近记录: |