Se o objetivo do método comparator que está sendo implementado é retornar um valor positivo se o segundo atributo for maior que o primeiro, retornar um valor negativo se for o contrário e retornar 0 se forem iguais, então, ao invés do que foi proposto:
public int compare(String s1, String s2) {
if (s1.length() < s2.length())
return -1;
if (s1.length() > s2.length())
return 1;
return 0;
}
Dá para fazer simplesmente assim que também funciona:
public int compare(String s1, String s2) {
return (s2.length() - s1.length());
}
A única diferença é que ao invés de -1, 1 ou zero, vai retornar qualquer valor positivo, negativo ou 0.