在我的叠加层中,我在JsDate中包装了一个JavaScript Date对象:
public final native JsDate getDueDate() /*-{
return this["dueDate"];
}-*/;
但是,当我想在小部件中使用该日期时,请说一个DateBox,我 需要将值设置为Java Date。我可以从我的创建Java日期 JsDate,但我相信会增加一些开销。
Date javaDate = new Date(jsDate.getTime());
有更清洁的方法来实现这一目标吗?将JsDate对象转换为Java Date对象的最佳方法是什么,反之亦然?
非常感谢
答案 0 :(得分:4)
Jason的代码对我不起作用,因为getDueDateNative().getTime()
会返回double
而不是long
。因此,您还需要转换值:return new Date((long) getDueDateNative().getTime());
答案 1 :(得分:3)
GWT的Date
实施使用了JsDate
,因此根本不会有任何有意义的性能损失。为了让该类型的消费者更轻松,请将覆盖图更改为Date
而不是JsDate
s:
public final Date getDueDate() {
return new Date(getDueDateNative().getTime());
}
private final static JsDate getDueDateNative() /*-{
return this["dueDate"];
}-*/;