“O compareto () é um método que é suportado pela classe Java String para comparação de string. Este método compara a string lexicograficamente, o que significa em ordem alfabética. A comparação da string depende do valor Unicode atribuído a cada caractere de string. O valor de retorno do método compareto () é o valor inteiro que pode ser positivo, negativo ou zero. O número inteiro positivo é obtido quando os caracteres de primeira linha são caracteres mais altos que os caracteres de segunda corda. O número inteiro negativo é retornado quando a primeira string é menor que a segunda sequência usando ordem alfabética e retorna zero se forem lexicamente iguais.”
Exemplo 1
Estamos usando o método compareto () de java neste exemplo em particular para demonstrar como esse método compara a string em ordem alfabética.
Temos um programa principal dentro da classe “Comparetocase1”. Aqui, declaramos três variáveis intituladas "S1", "S2" e "S3". As variáveis contêm uma sequência de palavras em que "S1" e "S2" têm a mesma string. O "S3" é inicializado com uma string diferente. Em seguida, invocamos o método compareto (), onde passamos as variáveis "S2" e "S3" como um argumento. O método compareto compara essas seqüências com a string "S1" e imprime os resultados.
Temos um valor inteiro "0" obtido do método compareto como a string "S1" e "S2" têm o mesmo conteúdo. Por outro lado, temos o valor negativo "-7" da comparação de "S1" e "S3" porque eles não são os mesmos, e "S3" vem após o "S1" de acordo com a ordem alfabética ou de dicionário.
Exemplo 2
O método comparado de Java também é sensível ao minúsculo ao comparar as strings. Temos um programa de exemplo que determina a sensibilidade do caso do método compareto.
Estabelecemos a classe "Comparetocase2" para determinar a sensibilidade do caso do método String compareto (). Atribuímos a string na mancha para a variável "Mystring". Então, a corda.fora.O método println é implantado para o método compareto. O método compareto compara a sequência especificada com a string passada como um argumento em minúsculas. Na próxima declaração de impressão, inserimos a sequência de maiúsculas no método comparetoignorecase (). O método comparetoignorecase nos ajuda a ignorar a sensibilidade do caso das cadeias de comparação na saída.
A string é comparada com a string do método compareto e gera o número inteiro negativo “-32”. Portanto, o método compareto é um método sensível ao caso. Mas quando utilizamos a comparetoignorecase, o valor resultante é um número inteiro positivo, o que significa que o caso é ignorado.
Exemplo 3
Agora, estamos verificando a equivalência das cordas usando o método compareto. Para isso, temos que usar o método condicional em nosso programa.
Temos a declaração principal do método dentro da classe "Comparetocase3". Criamos duas cordas lá que são definidas como "Mystr1" e "Mystr2". Nós armazenamos strings diferentes em ambas as variáveis. As cordas podem ser exibidas pelo método de impressão de Java no console. Então, empregamos o bloco if-else. Temos uma condição "se" onde fornecemos o método compareto. O "mystr2" é usado como um parâmetro dentro do método compareto e comparado com a string "mystr1". Se essas cordas forem combinadas entre si, os resultados serão "0" e a instrução "se" será executada. Caso contrário, temos mais uma execução em bloco.
Os resultados da comparação de strings exibiram a afirmação de que as strings não são iguais no console abaixo, pois fornecemos as diferentes seqüências.
Exemplo 4
Embora o método comparado de Java tenha o mesmo desempenho para a comparação da string que tem um comprimento diferente, vamos considerar esta declaração para o programa abaixo.
O snippet de código tem a classe "Comparetocase4", onde implementamos o método principal do programa. Aqui, utilizamos o método de impressão de Java e passamos a sequência do personagem "y", que é comparado com a string dentro do método compareto. A sequência de personagens permanece a mesma, mas mudamos o comprimento da string, fornecendo as novas cordas que contêm o mesmo personagem "y". Em seguida, comparamos a sequência inteira com a sequência inteira de diferentes comprimentos especificados no método compareto. Os resultados serão impressos após a execução de cada declaração de impressão usando o método compareto.
Os diferentes resultados dos comprimentos variados da string são exibidos abaixo.
Exemplo 5
O método compareto também gera um erro "NullPointerException" pelo compilador. Este erro é lançado quando o método compareto assume o valor nulo como um argumento.
Temos uma classe "Comparetocase5" que impulsiona o programa principal. Dentro do bloco principal Java, definimos a variável "str_val1", que segura a string. Em seguida, definimos outra variável "str_val2", que mantém o valor "nulo". As cordas são chamadas para a comparação dentro do “sistema.fora.Método println ”. O método compareto também está empregado lá. Comparamos o "str_val1" com o "str_val2". Os resultados da execução serão mostrados no console.
Quando essas strings são comparadas, ele levanta uma exceção da saída "NullPointerException" como a sequência usada como um parâmetro dentro do método compareto tem um valor nulo.
Exemplo 6
Além disso, temos outro caso de exceção em relação ao método de string compareto. A ClassCastException é levantada quando temos tipos inconsistentes de objetos para comparação.
Construímos uma classe como "funcionários", onde definimos o objeto "EMP_NAME" e também chamamos de construtor para "funcionário" da classe. O "emp_name" é definido com o objeto "stringis" chamado no construtor. Em seguida, temos o método principal dentro da classe "Comparetocase6". Especificamos os nomes de alguns funcionários chamando a classe de "funcionários". Adicionamos o nome do funcionário com a ajuda do método Add. Depois disso, temos uma operação de pesquisa binária para uma comparação da string de nomes de funcionários com outra string.
A execução do programa acima se reúne, exceto a ClassCastException, pois a string fornecida é incompatível.
Conclusão
O método compareto é usado para comparar a string seguindo a ordem do dicionário e retornando as saídas esperadas. Vimos muitos cenários com o programa de exemplo em que o método compareto tem um desempenho diferente. O cenário sensível ao caso também é implementado para o método compareto, e como ignorar os casos sensíveis ao caso também é explicado. Além disso, temos os casos de exceção do método compareto () que podemos evitar ao utilizar o método compareto () em java.