Friday, May 21, 2010

Oggetti mutabili e non mutabili con keyword final

Definire un oggetto di una classe composta mutabile come final non evita che possa essere modificato.
 
/***************************************/


import java.util.HashMap;
import java.util.Map;

public class Mappa {

 /**
  * @param args
  */
 public static void main(String[] args) {
 final Map map=new HashMap();
  for(int i=0;i<4;i++){
   map.put(i+"",new StringBuffer(i+""));
  }
 
 
  StringBuffer o=(StringBuffer)map.get("1");
  o.append(" - change!!!!");
 
  for(int i=0;i<4;i++){
   System.out.println(i+">"+map.get(i+""));
  }
  
 
 }

}

/***************************************/
 
stampa
 

0>0

1>1 - change!!!!

2>2

3>3

Happy coding and debugging!  :)

 

No comments: