Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

3
respostas

Implementação de compare()

Olá, dúvida bem simples e rápida: eu não poderia implementar o método compare() com algo como:

public int compare(String s1, String s2) {
                return (s1.length() - s2.length());
            }

Ao invés do sugerido?

public int compare(String s1, String s2) {
        if (s1.length() < s2.length())
            return -1;
        if (s1.length() > s2.length())
            return 1;
        return 0;
    }
3 respostas

No primeiro código você está apenas subtraindo o tamanho das strings, ao invés de comparar os tamanhos.

Pergunto, porque na realidade funcionou para mim. Ordenou por tamanho aparentemente sem problemas. Retorna negativo caso s1 seja menor, do contrário retorna positivo. Se igual, retorna 0.

Pode, funciona da mesma forma. Retirando os parênteses fica ainda mais legível.