Если я в строке 41 заменю метод isGreaterThan на StringList.get(j).length() > StringList.get(j+1).length(), то все сортируется правильно.