问题描述
我需要将ArrayList的内容混洗/随机化。我很高兴发现Collections.shuffle(),但与其他Java映射/列表/集合不同,它似乎无法为XPages ssjs代码提供Collections类。是否可以导入/引用Collections类以访问其shuffle()方法?
这是我当前的代码:
var numbersArrayList = new java.util.ArrayList;
for (i=1; i<=10; i++) {
numbersArrayList.add(i)
}
dBar.dump(numbersArrayList);
Collections.shuffle(numbersArrayList);
dBar.dump(numbersArrayList);
这是指示找不到Collections类的错误:
This file is encoded using UTF-8. Please set your editor/viewer options appropriately
10/29/20 6:22 AM: Exception Thrown
Context Path: /TravelTrackPaul2.nsf
Page Name: /resetData.xsp
Control id: button6
Property: onclick
Script interpreter error,line=8,col=13: [ReferenceError] 'Collections' not found
6:
7: Collections.shuffle(numbersArrayList);
-> 8:
9: dBar.dump(numbersArrayList);
解决方法
使用完整的包名称调用该方法:
java.util.Collections.shuffle(numbersArrayList);