Buondi a tutti...
Ho da poco iniziato a programmare in Java e subito mi sono imbattuto in un dubbio che non mi riesce di risolvere!!!
Questo e il codice:
mentre questo e il risultato:codice:Integer a = new Integer(1); Integer b = new Integer(1); System.out.println("a == b ? " + (a == b)); System.out.println("a.equals(b) ? " + (a.equals(b))); //----------------------------------------- Integer c = 1; Integer d = 1; System.out.println("c == d ? " + (c == d)); //Restituisce 'True' su due oggetti distinti??? System.out.println("c.equals(d) ? " + (c.equals(d)));
Ecco la domanda: come mai, nel caso 'c==d' viene restituito true anche se, i due oggetti sono completamente diversi??? Grazie di un eventuale risposta! :dcodice:a == b ? false a.equals(b) ? true c == d ? true c.equals(d) ? true

Rispondi quotando