Jestem stoi problem z tej linii (skomentował poniżej):Uzyskiwanie dziwne wyjście podczas drukowania wynik porównania ciąg
System.out.println("Using == ::"+s3==s4)
który wyprowadza false
.
Jednakże, System.out.println(s3==s4)
wyprowadza true
.
Teraz nie jestem w stanie zrozumieć, dlaczego ja dostaję ten wynik:
public class string {
public static void main(String[] args){
String s3="Shantanu";
String s4=s3;
String s1=new String("java");
String s2=new String("javaDeveloper");
System.out.println("Using Equals Method::"+s1.equals(s2));
System.out.println("Using Equals Method::"+s3.equals(s4));
System.out.println("Using == ::"+s3==s4);//Problem is here in this line
System.out.println(s1+"Directly printing the s2 value which is autocasted from superclass to string subclass ");
System.out.println("Directly printing the s1 value which is autocasted from superclass to string subclass "+s2);
System.out.println(s3);
}
}
Output-Using Equals Method::false Using Equals Method::true Using == ::false java Directly printing the s2 value which is autocasted from superclass to string subclass Directly printing the s1 value which is autocasted from superclass to string subclass javaDeveloper
@roippi Czy jesteś brzydkim szefem? ? – jsedano
Twoje dane wyjściowe nie są zgodne z kodem. Trzecia linia powinna być po prostu "false". – arshajii
Proszę sprawdzić, czy zaksięgowane dane wyjściowe są poprawne. Oczywiście początkowe znaki "Wyjście" nie byłoby tam. Ponadto ostatnie wywołanie 'println' nie jest pokazywane podczas drukowania' s3', a linia środkowa jest podejrzana. –