java的自动打包和解包

2014-11-24 09:12:36 · 作者: · 浏览: 0
map接口中的put(k,v)方法中的v参数要求的是对象的,其一般用法:
import java.util.*;  
public class TestMap {  
  public static void main(String args[]) {  
  
    Map m1 = new HashMap();   
      
    m1.put("one",new Integer(1));//v参数是整形对象对象  
    m1.put("two",new Integer(2));  
    m1.put("three",new Integer(3));  
    
    System.out.println(m1);  
   
    if(m1.containsKey("two")) {  
        int i = ((Integer)m1.get("two")).intValue();//强制转换为整形对象在得出值  
            System.out.println(i);  
        
    }  
  }  
}  

利用自动打包和解包就很方便了:
import java.util.*;  
public class TestMap {  
  public static void main(String args[]) {  
    Map m1 = new HashMap();   
   
    m1.put("one", 1);//自动打包,注意与上面代码的区别  
    m1.put("two", 2);  
    m1.put("three", 3);  
      
    System.out.println(m1)  
  
    if(m1.containsKey("two")) {  
         int i = (Integer)m1.get("two");//自动解包  
         System.out.println(i);  
    }  
  
  }  
}  

题外话:强制转换的存在,导致了泛型的出现。