未为类型 Collections 定义方法 synchronizedMap(HashMap<Integer,Serializable>)
The method synchronizedMap(HashMap<Integer,Serializable>) is undefined for the type Collections
在我的 GWT 客户端代码中,我有一个 class 如下
public class SomeClass {
private Map<Integer, Serializable> mId2ContentMap;
private Map<Integer, Timestamp> mId2Timestamp;
public SomeClass() {
mId2ContentMap = Collections.synchronizedMap(new HashMap<Integer, Serializable>());
mId2Timestamp = Collections.synchronizedMap(new HashMap<Integer, Timestamp>());
}
}
当我尝试 运行 我的 GWT Web 应用程序时,我收到两个错误提示
The method synchronizedMap(HashMap<Integer,Serializable>) is undefined for the type Collections
The method synchronizedMap(HashMap<Integer,Timestamp>) is undefined for the type Collections
google 了一段时间后,我只找到 one post 这与我遇到的错误有很大关系。 post 提到 GWT 不支持反射调用。但我不认为 Collections.synchronizedMap()
是一个反射调用。如果我在这里错了,请纠正我。
有什么建议吗?
synchronizedMap 不是 java.util.Collections 中在 GWT JRE 中模拟的方法之一,如您所见 here.
就是说,如果您只是从客户端代码中删除对 synchronizedMap 的调用(并只使用您直接传入的 HashMap),是否 possible/convenient?我对 GWT 不是很了解,但是考虑到客户端代码被翻译成 javascript,无论如何我看不出使用 Java 同步有什么好处。
在我的 GWT 客户端代码中,我有一个 class 如下
public class SomeClass {
private Map<Integer, Serializable> mId2ContentMap;
private Map<Integer, Timestamp> mId2Timestamp;
public SomeClass() {
mId2ContentMap = Collections.synchronizedMap(new HashMap<Integer, Serializable>());
mId2Timestamp = Collections.synchronizedMap(new HashMap<Integer, Timestamp>());
}
}
当我尝试 运行 我的 GWT Web 应用程序时,我收到两个错误提示
The method synchronizedMap(HashMap<Integer,Serializable>) is undefined for the type Collections
The method synchronizedMap(HashMap<Integer,Timestamp>) is undefined for the type Collections
google 了一段时间后,我只找到 one post 这与我遇到的错误有很大关系。 post 提到 GWT 不支持反射调用。但我不认为 Collections.synchronizedMap()
是一个反射调用。如果我在这里错了,请纠正我。
有什么建议吗?
synchronizedMap 不是 java.util.Collections 中在 GWT JRE 中模拟的方法之一,如您所见 here.
就是说,如果您只是从客户端代码中删除对 synchronizedMap 的调用(并只使用您直接传入的 HashMap),是否 possible/convenient?我对 GWT 不是很了解,但是考虑到客户端代码被翻译成 javascript,无论如何我看不出使用 Java 同步有什么好处。