HOWTO · Java
Compare String com a instrução Java if
Comparando Strings por meio de instruções if em Java.
Nesta página
Neste guia, vamos falar sobre a comparação de strings de instrução if em Java. Geralmente, existem três maneiras de comparar duas strings. Você precisa entender o básico dessas operações e descobrir o que está comparando (conteúdo, referência ou diferença de string). Vamos dar uma olhada mais profunda nisso.
Compare String com a instrução Java if usando o operador ==
Quando comparamos duas strings por meio da instrução if usando o operador ==, comparamos o número de referência dessas strings, mas você perceberá que funcionará da mesma forma que comparar o conteúdo. Se houver duas strings com o mesmo conteúdo, ele as mostrará como iguais. Porque? Porque o compilador de Java é maduro o suficiente para armazenar as duas strings com o mesmo conteúdo na mesma memória.
Compare String com a instrução Java if usando a função equal()
Por meio da função equal(), podemos comparar o conteúdo das duas strings. Ele vai ver se o conteúdo é semelhante. É sensível a maiúsculas e minúsculas, mas você também pode ignorar a diferenciação de maiúsculas e minúsculas usando a função equalsIgnoreCase().
Compare String com a instrução Java if usando a função compareTo()
Nesta função, obtemos a diferença entre duas strings. Nós os comparamos lexicograficamente com base no valor Unicode de cada caractere. Você obterá um valor 0 se ambas as strings forem iguais, e você obterá menos do que o valor 0 se a string for menor que a outra string e vice-versa.
Dê uma olhada no seguinte código autoexplicativo.
public class Main {
public static void main(String[] args) {
String str1 = "jeff";
String str2 = "jeff";
String str3 = new String("jeff"); // to declare
String str10 = new String("jeff");
System.out.println("-----------------Using == Operator ----------------");
// using == opreater use for Refrence Comapring instead of content comparison.
if (str1
== str2) { // equal and if Conditon True because both have same Refrence Memory address.
System.out.println("Str1 And Str2 Equal");
}
if (str1
== str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
System.out.println("Str1 and Str3 are equals");
}
if (str10
== str3) { // Not Equal If Condition False Because == opreater compares objects refrence.
System.out.println("Str10 and Str3 are equals");
}
System.out.println("-----------------Using .equal Method----------------");
// Using .equals Method. for String Content Comparison.
if (str1.equals(str2)) { // equal and if Conditon True because both have same string
System.out.println("Str1 And Str2 Equal");
}
if (str1.equals(str3)) { // Equal If Condition true String have same Content.
System.out.println("Str1 and Str3 are equals");
}
// compare two strings diffrence
System.out.println("-----------------Using Compare Method----------------");
// first string.toCompare(String2)
System.out.println(str1.compareTo(str2));
}
}
Resultado:
Output:
-----------------Using == Operator ----------------
Str1 And Str2 Equal
-----------------Using .equal Method----------------
Str1 And Str2 Equal
Str1 and Str3 are equals
-----------------Using Compare Method----------------
0