public class Foo {
public static void main(String[] args) {
foo();
bar();
}
public static void foo() {
String s = "str4";
String s1 = "str" + s.length();
System.out.println("(s==s1)" + (s1 == s));
}
public static void bar() {
String s = "str4";
String s1 = "str" + "4";
System.out.println("(s==s1)" + (s1 == s));
}
}
(s==s1)false
(s==s1)true
Na String s1 = "str" + s.length(); wartość s1 = STR4 ale okazuje się fałszywe w następnej deklaracji sysout podczas podwójnie równe (==) sprawdza
*/
@delnan Naprawdę, przeczytaj to jeszcze raz. –
Zdecydowanie jest duplikatem, ale nie tym. –
@AnubianNoob i inne: pytanie, o które pytano, nie jest dosłownie takie samo, ale podstawowy problem jest taki sam, a odpowiedzi na nie całkowicie odpowiadają. – delnan