Próbuję zrozumieć działanie System.out.println() w Javie ... w następujący 2 fragment kodu, dlaczego odpowiedź jest inna i dlaczego nie wydrukować ciąg "Hello:" wewnątrz metody println()?metoda println() w Javie na równość łańcuchów ... i jak to działa dokładnie?
public static void main(String[] args) {
String x = "abc";
String y = "abc";
System.out.println("Hello:" + x == y);
System.out.println("x.equals(y): " + x.equals(y));
if(x == y){
System.out.println("Hello:" + x==y);
}
}
Odpowiedź brzmi:
false
x.equals(y): true
false
A dla kodu drugim fragmencie:
public static void main(String[] args) {
String x = "abc";
String y = "abc";
System.out.println(x == y);
System.out.println("x.equals(y): " + x.equals(y));
if(x == y){
System.out.println(x==y);
}
}
Odpowiedź brzmi:
true
x.equals(y): true
true
Thanks @assylias .... Tak, mam teraz ... ,, Teraz kładę nawiasy wokół x == y i to działa dobrze. np. System.out.println ("Hello:" + (x == y)); – Ani2l