我在日期和长类型以及叠加类型中遇到了一些错误。两者都使用long,这在GWT JSNI中是不允许的。日期通过getTime()序列化为长。
我现在正在做的事情(似乎有效)是:
FROM JAVA(使用Jackson序列化为json)
Long myLong = new Long(50)
Date myDate = new Date();
public String getMyLong()
{
return String.valueOf(myLong);
}
public String getDate() {
return String.valueOf(date.getTime());
}
FROM GWT(使用OverlayTypes)
/*Returning a Long*/
private final native String _getEscaletaId() /*-{ return this.escaletaId; }-*/;
public final Long getEscaletaId() {return new Long(_getEscaletaId());}
/*Returning a Date*/
private final native String _getDate() /*-{ return this.date; }-*/;
public final Date getDate() {return new Date(Long.valueOf(_getDate()));}
这是处理长期和其他特殊类型的更好方法吗?
三江源。
答案 0 :(得分:3)
对于日期,有JsDate
,JS Date对象周围的瘦JSO包装。
Longs是冒险的,因为JavaScript没有long的概念。所有数字都是53位双精度数,bit Twitter recently。