0
私のクラスのcompareTo()
メソッドをオーバーライドして、日付に基づいてインスタンスをソートしようとしています。Rhino Java環境でコンパイラメソッドを使用する方法
このプログラムを実行すると、結果が正しく表示されません。 私はRhino環境で作業しているため、Javascriptで書いています。私はそれができますかどうかわからないが、私はコードを書くために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);