Ваши утверждения неверны.второй Comparator
применяется только в том случае, если первый Comparator
возвращает 0, а третий Comparator
применяется только в том случае, если первый и второй Comparator
s возвращают 0.
Следовательно, Boolean.compare(list.get(i).getY().isX(), list.get(i+1).getY().isX())
должно быть<= 0 только если <code>list.get(i).getA() == list.get(i + 1).getA().
, а list.get(i).getB().compareTo(list.get(i + 1).getB())
должно быть <= 0, только если <code>list.get(i).getA() == list.get(i + 1).getA() и Boolean.compare(list.get(i).getY().isX(), list.get(i+1).getY().isX()) == 0
.