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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software