Еще один пример здесь. Вы можете использовать также для
let array = [1, 2, 3, 4, 5, 6];
async function processArray(arr){
for (const num of array) {
await request('http://google.com').get('/');
console.log(num);
}
console.log('Done!');
}
processArray(array);
Вместо:
factory.getComparatorForClass(x.getClass()).compare(x, y)
Вы могли просто реализовать Comparable
и запись:
x.compareTo(y)
Строка, примитивные обертки и стандартные наборы уже реализуют Comparable
.
Использовать CompareToBuilder
из палаты общин Lang.
Помогает в реализации Comparable.compareTo (Объект) методы.
Для использования этого класса пишут код следующим образом:
public class MyClass { String field1; int field2; boolean field3; ... public int compareTo(Object o) { MyClass myClass = (MyClass) o; return new CompareToBuilder() .appendSuper(super.compareTo(o) .append(this.field1, myClass.field1) .append(this.field2, myClass.field2) .append(this.field3, myClass.field3) .toComparison(); } }
Я не знаю ни о чем как этот первое, что пришло на ум. При реальной необходимости в чем-то вроде этого не должно быть слишком трудно реализовать то сами.
Однако Вы могли уточнить то, почему Вам нужно что-то вроде этого? Обычно не должно быть компаратора "по умолчанию" для классов. Если класс имеет своего рода естественное упорядочивание, у Вас действительно должен быть он реализация java.lang.Comparable
, и реализация Comparable#compareTo(Object) : int
вместо этого.
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Comparable.html
Компаратор является потребностью быть, расширяются.. это основано на реализации повторно используемого кода.. в них метод у Вас может быть пользовательское сравнение данных.. реализация просто проста.. просто реализуйте интерфейс Comparator.. переопределите его compareto метод и поместите код сравнения.. и возвратитесь, который Вы думаете, больше с точки зрения значений..