JRubyでは「java.util.Date」クラスはうまく相互変換してくれない場合がある。
例えば
現在の日時を取得したい場合に
today = Time.nowでrubyのDateクラスを取得する。
そして
public void sample_method(Date prm)
みたいなjavaの「java.util.Date」クラスを引数とするメソッドに
todayを引き渡す場合はうまくいくが
todayをハッシュマップ等でラップして引数として渡した場合はうまく変換してくれない。
public void sample_method(Map prm2)
param = {}
param["today_1"] = today
これはJRuby側で「java.util.Date」をみつけられないらしくJRubyオブジェクトのままで
わたしてしまうのが原因ぽい。
なのでtodayを作るときにrubyのオブジェクトとしてではなく以下のように最初から「java.util.Date」として作成してあげればうまくいく。
today = java.util.Date
以上
0 件のコメント:
コメントを投稿