Чем мой код не идентичен по функционалу тому, что находится в топе в комментах?
Вот вариан с комментов:
@Override
public int compare(T o1, T o2)
{
int result = 0;
for (Comparator comparator : comparators)
{
result = comparator.compare(o1, o2);
if (result != 0) break;
}
return result;
}
У меня даже лучше - не создаю лишгих переменных, код компактнее. package com.javarush.task.task26.task2603;
import java.util.Comparator;
/*
Убежденному убеждать других не трудно
*/
public class Solution {
public static void main(String[] args) {
}
public static class CustomizedComparator<T> implements Comparator<T>{
private Comparator<T>[] comparators;
public int compare(T o1, T o2) {
for(Comparator<T> comparator: comparators) {
if(comparator.compare(o1, o2) != 0)
return comparator.compare(o1, o2);
}
return 0;
}
public CustomizedComparator(Comparator<T>... comparators) {
this.comparators = comparators;
}
}
}