Try to understand this code and the results below to see the difference between == and equals(). Then you'll see why equals() is usually what you want for comparing strings.
String string1 = "android";
String string2 = "android";
String string3 = new String("android");
if(string1 == string2){
System.out.print("String1 == String2");
}else{
System.out.print("String1 != String2");
}
if(string1.equals(string2)){
System.out.print("String1 equals String2");
}else{
System.out.print("String1 not equals String2");
}
if(string1 == string3){
System.out.print("String1 == String3");
}else{
System.out.print("String1 != String3");
}
if(string1.equals(string3)){
System.out.print("String1 equals String3");
}else{
System.out.print("String1 not equals String3");
}
if(string2 == string3){
System.out.print("String2 == String3");
}else{
System.out.print("String2 != String3");
}
if(string2.equals(string3)){
System.out.print("String2 equals String3");
}else{
System.out.print("String2 not equals String3");
}
Result :
>> String1 == String2
>> String1 equals String2
>> String1 != String3
>> String1 equals String3
>> String2 != String3
>> String2 equals String3