2017-11-13 5 views
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); 

答えて

関連する問題