在JAVA程序设计中经常用到一系列类型 ,如int  char double 等,可以把他们想像成“基本”类型。

  它们显然要特殊对待,因为new将对象存在“堆”里,然而像byte,char这些特别小的,简单的变量,放在堆中不是特别有效率。

  对于基本类型的处理,java采取与C和C++相同的方法。也是,不用new来创建变量 ,而是创建一个并非是引用 的“自动”变量。这个变量直接存储“值”到栈中,因此更加高效。

  然而因为基本类型不是从JAVA对象中派生出来的,许多操作完成不了

  如:基本数据类型之间的相互转换不是都可以制动转换的而你强制转换又会出问题,比如String类型的转换为int 类型的 那么jdk为了方便用户提供了相应的包装类

int a=0;
String result=Integer.toString(a);

  java包装类使用起来非常灵活

char c ='x';
Character ch=new Character(c);

  也可以这样用

<Character ch=new  Character('x');
并可以反向转换:
char c=ch

  例2: 第二 有时候一个函数需要传递一个Object的变量而你想传递int类型的进去显然不行,怎么办呢,用到了包装类

public void test(Object obj){
}

  你想传递5进去可以这样

test(new Integer(5));

  综上所述,包装类有两个用法:一个实现基本类型之间的转换;二是便于函数传值。是在一些地方要用到Object的时候方便将基本数据类型装换。