gpt4 book ai didi

javascript - 如何在Rhino Java环境中使用比较器方法

转载 作者:行者123 更新时间:2023-12-02 12:00:43 25 4
gpt4 key购买 nike

我正在尝试重写类的 compareTo() 方法,以便根据实例的日期对实例进行排序。

当我运行这个程序时,我得到了不正确的结果。我用 Javascript 编写是因为我在 Rhino 环境中工作。我不确定它是否有帮助,但我正在使用 execute-rhino-online在线编辑器编写代码:

var arrayList = java.util.ArrayList();
var Object1 = new java.util.HashMap();
var Object2 = new java.util.HashMap();
var Object3 = new java.util.HashMap();
Object1.put("Job Number", "222");
Object1.put("Date", java.util.Date(2017, 10, 11));
Object2.put("Job Number", "333");
Object2.put("Date", java.util.Date(2017, 10, 13));
Object3.put("Job Number", "111");
Object3.put("Date", java.util.Date(2017, 10, 10));
arrayList.add(Object1);
arrayList.add(Object2);
arrayList.add(Object3);

var comp = java.util.Comparator({
compareTo: function(o1, o2) {
var d1 = o1.get("Date");
print(d1);
var d2 = o2.get("Date");
if (d1.before(d2)) {
return -1;
} else if (d1.after(d2)) {
return 1;
} else {
return 0;
}
}
});
java.util.Collections.sort(arrayList, comp);
print(arrayList);

最佳答案

这是因为你重写了一个不存在的方法

compareTo: 更改为 compare:

检查 javadoc 中的 https://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html

关于javascript - 如何在Rhino Java环境中使用比较器方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47272893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com