我开始为此失去理智..
我想做的就是从NodeList
中排除某个Node
private List<Node> excludeDraggedElement(JsArray<Node> jsNodeList) {
List<Node> nodeList = new ArrayList<>();
GWT.log(jsNodeList.length() + ""); // Prints: 1
for(int i = 0; i < jsNodeList.length(); i++) {
Element element = (Element)nodeList.get(i);
if(element == this.draggedElement.getElement()) {
continue;
}
nodeList.add(jsNodeList.get(i));
}
return nodeList;
}
正如您所期望的,输出是:
1
Uncaught java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
我也尝试过使用splice
public native void remove(JsArray<?> removeFrom, int index, int count) /*-{
removeFrom.splice(index, count);
}-*/;
Uncaught TypeError: arr_0_g$.splice is not a function
知道如何解决这个问题吗?
最佳答案
节点列表为空。因此 nodeList.get(i)
抛出异常。
关于java - JsArray<?> 的大小为 1 但得到 "java.lang.IndexOutOfBoundsException: Index: 0, Size: 0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36230273/