Gwt 只要在地图上输入
我从服务器收到一张地图 当我试图从这个映射中获取值时,总会返回null,但我确信,该映射包含这样的值:Gwt 只要在地图上输入,gwt,Gwt,我从服务器收到一张地图 当我试图从这个映射中获取值时,总会返回null,但我确信,该映射包含这样的值: public void updateView(Map<Long, JavaScriptObjectImpl> data) { table.setRowData(new ArrayList<JavaScriptObjectImpl>(data.values())); table.redraw(); if (selectedFileId != -1)
public void updateView(Map<Long, JavaScriptObjectImpl> data) {
table.setRowData(new ArrayList<JavaScriptObjectImpl>(data.values()));
table.redraw();
if (selectedFileId != -1) {
JavaScriptObjectImpl object =data.get(selectedFileId); // null is returned
consoleLog(String.valueOf(selectedFileId)); // this line prints "11001"
consoleLog(String.valueOf(data)); // this line prints "{11001=[object Object]}"
boolean b = data.containsKey(selectedFileId);
consoleLog(String.valueOf(b)); // this line prints "false"
...
}
}
有人知道在gwt中可以使用Long-as键吗?
或者请帮我解决我的问题
谢谢大家!
在gwt中是否可以在地图中使用Long as键
是的,只要在地图中键入,GWT中就没有约束
请直接从代码中查看这一行
consoleLog(String.valueOf(data)); // this line prints "{11001=[object Object]}"
很明显,数据包含一个键11001和一个非空值
如果该值为null,那么它将打印类似于{11001=null}的内容。我已经找出了问题的原因
for (int i = 0; i < allFilesInfo.length(); i++) {
FileInfoJS info = allFilesInfo.get(i);
filesInfo.put(Long.parseLong(String.valueOf(info.getFileId())), info);
}
当我形成map时,info.getFileId的值并不长,而是JSObject。
不幸的是,我无法解释 它很长。它是class字段private Long selectedFileId;好的,让我试着找出其他的可能性。你能在map.try System.out.printlndata.keySet中分享你的代码吗;打印键。对于int i=0;i