Como comparar Strings em Java?

Para comparar Strings em Java, você pode utilizar o método equals() ou o método compareTo().

O método equals() compara o valor das Strings, ou seja, se o conteúdo das duas Strings forem os mesmos, ele retornará true, caso contrário, retornará false. Por exemplo:

String str1 = "Hello";
String str2 = "World";
String str3 = "Hello";

System.out.println(str1.equals(str2)); // false
System.out.println(str1.equals(str3)); // true

Já o método compareTo() compara as Strings lexicograficamente, ou seja, em ordem alfabética. Ele retorna um valor inteiro: um número negativo se a String que chama o método for menor que a String passada como argumento, zero se as duas forem iguais e um número positivo se a String que chama o método for maior. Por exemplo:

String str1 = "Apple";
String str2 = "Banana";
String str3 = "Apple";

System.out.println(str1.compareTo(str2)); // -1
System.out.println(str1.compareTo(str3)); // 0
System.out.println(str2.compareTo(str1)); // 1

Portanto, a escolha entre equals() e compareTo() depende do que você precisa comparar e dos critérios que você deseja seguir. Se você quer apenas verificar se duas Strings são iguais em termos de conteúdo, use equals(). Se você precisa fazer uma comparação lexicográfica, use compareTo().