Comparar caracteres em Java

  1. Comparar caracteres utilizando Character.compare() em Java
  2. Comparar Caracteres utilizando == em Java
  3. Comparação de caracteres utilizando String.matches() em Java

Este artigo irá introduzir como comparar caracteres em Java.

Comparar caracteres utilizando Character.compare() em Java

Podemos comparar dois caracteres utilizando o método compare() da classe Character em Java. São necessários dois caracteres como argumentos e retorna zero se ambos os caracteres forem iguais, um valor negativo se o primeiro for menor que o segundo, e um número positivo se o primeiro for maior que o segundo.

Abaixo, dois caracteres, char1 e char2, são comparados utilizando Character.compare(), e o valor de retorno é verificado se for menor que, maior que, ou igual a zero. Podemos ver que a saída do exemplo mostra que ambos os caracteres são idênticos.

public class CompareChar {
    public static void main(String[] args) {

        char char1 = 'z';
        char char2 = 'z';

         if (Character.compare(char1, char2) > 0) {
            System.out.println(char1 + " is greater");
        } else if (Character.compare(char1, char2) < 0) {
            System.out.println(char1 + " is less than " + char2);
        } else if (Character.compare(char1, char2) == 0) {
            System.out.println(char1 + " and " + char2 + " are equal");
        } else {
            System.out.println(char1 + " and " + char2 + " are invalid characters");
        }

    }
}

Resultado:

z and z are equal

Comparar Caracteres utilizando == em Java

Podemos usar duplos iguais para comparar caracteres sem usar métodos longos. Mas há uma flexibilidade mínima, uma vez que só diz se os caracteres são os mesmos ou não.

public class CompareChar {
    public static void main(String[] args) {

        char char1 = 'a';
        char char2 = 'b';
        char char3 = 'a';


        if (char1 == char2) {
            System.out.println("Char1 and Char2 are equal");
        } else {
            System.out.println("Char1 and Char2 are not equal");
        }

        if(char1 == char3){
            System.out.println("Char1 and Char3 are equal");
        }else{
            System.out.println("Char1 and Char3 are not equal");
        }


    }
}

Resultado:

Char1 and Char2 are not equal
Char1 and Char3 are equal

Comparação de caracteres utilizando String.matches() em Java

Neste método de comparação de caracteres em Java, usamos expressões regulares para verificar se o caractere é ou não um alfabeto minúsculo. Utilizaremos o método matched() que pode ser utilizado com strings. Temos um caracter que precisa de ser convertido para uma string utilizando o método matched(). Assim, no exemplo abaixo, utilizamos Character.toString(char1) e depois o método regex.

public class CompareChar {
    public static void main(String[] args) {

        char char1 = 'a';

        if (Character.toString(char1).matches("[a-z?]")) {
            System.out.println("The character matches");
        } else {
            System.out.println("The character does not match");
        }
        
    }
}

Resultado:

The character matches

Artigo relacionado - Java Char

  • Obter um Char a partir da entrada em Java
  • Remover um caractere de uma string em Java