s1 è un oggetto stringa il cui valore è il letterale "q".
Un altro esempio:
s1 ed s2 fanno riferimento alla stessa area di memoriacodice:String s1 = "q"; String s2 = "q"; System.out.println("s1 == s2 --> " + (s1 == s2 ? "true" : "false")); System.out.println("s1.equals(s2) --> " + (s1.equals(s2) ? "true" : "false")); String s3 = new String ("q"); String s4 = new String ("q"); System.out.println("s3 == s4 --> " + (s3 == s4 ? "true" : "false")); System.out.println("s3.equals(s4) --> " + (s3.equals(s4) ? "true" : "false")); Ti è più chiaro? s1_____ s3-------> "q" \"q" s2_____/ s4-------> "q"
il cui valore è il letterale stringa "q"
s3 ed s4 invece fanno riferimento a due diversi oggetti
stringa, in quanto ciascun oggetto ha una propria zona
di memoria.
Spero di non complicarti le cose.
Ciao.
![]()

Rispondi quotando