Método Java String compareTo (): como usar com exemplos

Índice:

Anonim

O que é o método compareTo () em Java?

compareTo () é usado para comparar duas strings lexicograficamente. Cada caractere de ambas as strings é convertido em um valor Unicode. No entanto, se as duas strings forem iguais, esse método retornará 0, caso contrário, resultará apenas em um valor negativo ou positivo.

O método Java String compareTo () é definido na interface java.lang.Comparable

Sintaxe: como escrever um método compareTo () em Java :

public int compareTo(String str)

Entrada de parâmetro:

str - A função compareTo () em Java aceita apenas um tipo de dados String de entrada.

Retorna Método:

Este método Java compareTo () retorna um tipo de dados int que é baseado na comparação lexicográfica entre duas strings.

  • retorna <0, então a String que chama o método é lexicograficamente primeiro
  • retorna == 0 então as duas strings são lexicograficamente equivalentes
  • retorna> 0, então o parâmetro passado para o método Java compareTo () é lexicograficamente primeiro.

Exemplo do método Java String compareTo ():

Exemplo 1:

public class Sample_String {public static void main(String[] args) {String str_Sample = "a";System.out.println("Compare To 'a' b is : " + str_Sample.compareTo("b"));str_Sample = "b";System.out.println("Compare To 'b' a is : " + str_Sample.compareTo("a"));str_Sample = "b";System.out.println("Compare To 'b' b is : " + str_Sample.compareTo("b"));}}

Resultado

Comparar com 'a' b é: -1

Comparar com 'b' a é: 1 Comparar com 'b' b é: 0

Aqui,

  • O caractere a vem antes de b em ordem alfabética. Portanto, a saída é -1
  • O caractere b vem depois de a em ordem alfabética. Portanto, a saída é 1
  • Os caracteres b são equivalentes, portanto, a saída é 0.

Você pode usar o método Use "compareToIgnoreCase" caso não queira que o resultado faça distinção entre maiúsculas e minúsculas. Vamos entender com um exemplo Java compareTo ().

Exemplo 2:

public class Sample_String {public static void main(String[] args) {//Compare to a StringString str_Sample = "RockStar";System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));//Compare to - Ignore caseSystem.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Resultado

Compare com 'ROCKSTAR': -32 Compare com 'ROCKSTAR' - Caso ignorado: 0

Quando usar o método compareTo () em Java?

O método Java String compareTo () é usado para realizar a classificação natural na string. A classificação natural significa a ordem de classificação que se aplica ao objeto, por exemplo, ordem lexical para String, ordem numérica para classificação de inteiros, etc.

A ordem lexical nada mais é do que ordem alfabética. O método compareTo () Java faz uma comparação sequencial de letras na string que têm a mesma posição.

Nesse método, se a primeira string for sempre lexicograficamente maior que a segunda string, ele retornará um número positivo.

se a1> a2, ele retorna um número negativo

se a1

se a1 == a2, retorna 0

Vamos entender com Java String compareTo () Example.

Exemplo 3:

public class Compare {public static void main(String[] args) {String s1 = "Guru1";String s2 = "Guru2";System.out.println("String 1: " + s1);System.out.println("String 2: " + s2);// Compare the two strings.int S = s1.compareTo(s2);// Show the results of the comparison.if (S < 0) { System.out.println("\"" + s1 + "\"" + " is lexicographically higher than " + "\"" + s2 + "\"");} else if (S == 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically equal to " + "\"" + s2 + "\"");} else if (S> 0) {System.out.println("\"" + s1 + "\"" + " is lexicographically less than " + "\"" + s2 + "\"");}}}

Resultado:

String 1: Guru1

Sequência 2: Guru2 "Guru1" é lexicograficamente superior a "Guru2"