-3
public class EqualsCheck {
/**
* @param args
*/
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
Scanner sc1= new Scanner(System.in);
String s1 = sc.next();
String s2 = sc1.next();
equalCheck(s1,s2);
}
private static void equalCheck(String s1, String s2) {
//Using Assignment
System.out.println(s1 == s2);
//Using equals
System.out.println(s1.equals(s2));
//Printing HashCode
System.out.println("s1 :"+s1.hashCode()+" s2: "+s2.hashCode());
}
}
chaîne passée sont:opérateur pour l'égalité bevaiour les valeurs de chaîne transmises dynamiquement en java
s1 = "abc";
s2 = "abc";
Si je fais un s1==s2
, il retourne false
. Pourquoi la mise en pool de chaînes ne fonctionne pas ici.
s1.equals (s2) renvoie true comme prévu. – ravikant
Je vote pour clore cette question hors-sujet parce que cette question a été répondue sur SO un million de fois avant –
"Using Assignment" il n'y a aucune affectation ici. Ceci utilise * identity *. –