Sono di fronte a un problema con questa linea (commentata sotto):Ottenere uscita strano quando la stampa di risultato di un confronto di stringhe
System.out.println("Using == ::"+s3==s4)
quali uscite false
.
Tuttavia, System.out.println(s3==s4)
uscite true
.
Ora, io non sono in grado di capire il motivo per cui sto ottenendo questo risultato:
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 sei un capo dai capelli a punta? ? – jsedano
L'output non è coerente con il tuo codice. La terza riga dovrebbe essere 'false'. – arshajii
Verifica che l'output pubblicato sia corretto. Ovviamente i personaggi iniziali "Output-" non sarebbero lì. Inoltre, l'ultima chiamata 'println' non viene visualizzata stampando' s3' e la linea centrale è sospetta. –