Como comparar strings em java

A aula "corda" (String) Java inclui vários métodos para comparar as duas seqüências completas como partes deles. Alguns dos métodos retornam valores inteiros, enquanto outros retornam valores booleanos. Este guia irá mostrar-lhe várias maneiras de comparar duas redes diferentes usando diferentes métodos que já estão incluídos na classe String.

passos

1
Crie dois objetos da classe String. A maneira mais fácil de declarar duas cordas em Java está usando o código a seguir. "corda" é a declaração do tipo de objeto. string2 string1 e são os nomes de cada corda. As palavras "Olá" e "pai" Eles são, essencialmente, os valores dos objetos tipo String. Sempre que o compilador encontra citações, cria automaticamente uma string (String).
corda string1 = "Olá"-corda string2 = "pai"-
  • 2
    Use a função booleana: startsWith (String prefixo) para comparar os primeiros caracteres da cadeia. Este método da classe String compara os primeiros caracteres de uma string com o que você digitou no método. Porque é método boolean, um retorno "verdadeiro" (True) ou "falso" (Falso). Use o seguinte código e uma das cadeias criadas anteriormente. O código a seguir irá mostrar um exemplo de um caso real e um falso caso. Também imprimir uma mensagem com o resultado. A saída será "verdadeiro" e logo "falso".
    sistema.fora.println(string1.startsWith("ho"))- // retorna "verdadeiro" e impressões "verdadeiro"sistema.fora.println(string1.startsWith("mamãe"))- // retorna "falso" e impressões "falso"


  • 3
    Use a função booleana: startsWith (String prefixo, int offset). O método da classe String compara uma string com o valor inserido como um prefixo ("prefixo") No ponto da cadeia de caracteres especificada pelo valor de "compensar". O código a seguir irá mostrar um exemplo de um caso real e um falso caso. Notar que, quando as cartas são contados numa cadeia, iniciado pelo número 0. Por exemplo, na palavra "Olá", "h" É o espaço 0 "e" 1 é espaço.
    sistema.fora.println(string1.startsWith("o", ))- // retorna "verdadeiro" e impressões "verdadeiro"sistema.fora.println(string1.startsWith("o", 1))- // retorna "falso" e impressões "falso"


  • 4
    Use a função booleana: endsWith (String prefixo) comparar os últimos caracteres na cadeia. Este método compara os últimos caracteres da cadeia com o que você digitou no método. Com base no valor do comprimento do prefixo da string, o método vai voltar esse valor na cadeia de caracteres para comparar. Considere o seguinte código mostra um exemplo de um caso real e um falso caso. Este código também imprimir o resultado da comparação.
    sistema.fora.impressão(string2.endsWith("dre"))- // retorna "verdadeiro" e impressões "verdadeiro"sistema.fora.impressão(string1.endsWith("dr"))- // retorna "falso" e impressões "falso"
  • 5


    Use a função: int compareTo (String outraString) para comparar dois strings. Faça uma comparação de duas cordas usando string1.compareTo (string2) ou string2.compareTo (string1). Como o método é do tipo inteiro, isso irá retornar um inteiro. Se as cordas não são iguais, o número retornado não será 0. Se eles forem iguais, o número retornado é 0. O código a seguir irá mostrar um exemplo de um caso em que eles são iguais e em nenhum outro lugar. O código também irá imprimir os resultados no sistema.
    corda string1 = "Olá"-corda string2 = "Olá"-corda string3 = "pai"-sistema.fora.println(string1.compareTo(string2))- // Prints `0` porque ambos são iguaissistema.fora.println(string1.compareTo(string3)- // Imprime um número inteiro diferente de `0`
  • dicas

    • Você pode usar esse código em uma declaração condicional para exibir uma mensagem de erro se as cordas não são iguais:
    se (mystring1.compareTo(myString2) != 0){sistema.fora.println("Erro! cadeias " + mystring1 + " e " + myString2 + " não coincidem...")-}
  • Se você quer simplesmente para verificar se duas seqüências são iguais, você pode achar que é mais fácil de usar o método é igual a ():
    corda mystring1 = novo corda("abc")-corda myString2 = novo corda("abc")-se(mystring1.é igual a(myString2)){sistema.fora.println("As duas seqüências são iguais")-}
  • Nota: (Mystring1 == myString2) devolver o valor "FALSE" (Falso) neste caso. Embora cadeias "abc" são iguais, mystring1 e myString2 são diferentes instâncias de String. o operador "==" compara os objectos, enquanto o método de ".equals ()" compara os valores de cadeia.
  • avisos

    • Não tente comparar strings usando apenas os sinais "==" se você não sabe o que você vai está fazer. Isto pode não retornar o resultado esperado e pode aumentar significativamente o tempo de depuração, especialmente se você não é um programador Java experiente.
    • Comparar duas cadeias nulas usando o operador "==" irá retornar como resultado "VERDADEIRO" (True), ao comparar duas cadeias nulas usando ".equals ()" irá lançar uma exceção.
    Artigos Relacionados