Ciao a tutti,
mi sono imbattuto in un problema per me strano, penso che per voi sia semplice. Ho questo codice:
Questo codice da in output:Codice PHP:TreeMap<Integer, String> prova1 = new TreeMap<Integer, String>();
TreeMap<Integer, String> prova2 = new TreeMap<Integer, String>();
TreeMap<Integer, String> comune = new TreeMap<Integer, String>();
comune.put(1, "a");
prova1 = comune;
prova2 = comune;
prova1.put(2, "b");
Set c = prova2.keySet();
Iterator itr = c.iterator();
while(itr.hasNext()){
System.out.println((Integer)itr.next());
}
1
2
Io mi sarei aspettato come output solo 1, in quanto prova1 è impostato uguale a comune, ma comune non è impostato uguale a prova2, è il contrario.
Non so se mi sono spiegato, io ragiono come se avessi:
In questo caso mi aspetto che il risultato sia a e infatti è così. Ma cosa cambia rispetto al primo esempio?Codice PHP:String prova1 = "";
String prova2 = "";
String comune = "a";
prova1 = comune;
prova2 = comune;
prova2 = "b";
System.out.println(prova1);
Immagino sia una cosa banale, ma ringrazio se qualcuno mi aiuta a chiarirmi le idee.
Matteo

Rispondi quotando