int 是基本类型,直接存数值
integer是对象,用一个引用指向这个对象(一个类)
int i =1;
Integer i= new Integer(1);(要把integer 当做一个类看)
Integer 是一个类,是int的扩展,定义了很多的转换方法
类似的还有:float Float;double Double;string String等
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。
Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
1.int是基本的数据类型;
2.Integer是int的封装类;
3.int和Integer都可以表示某一个数值;
4.int和Integer不能够互用,因为他们两种不同的数据类型;
引入的原因:
为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
int num=Integer.valueOf("12"); //Integer类
int num2=Integer.parseInt("12"); //int数值
valueof与paserxxx区别:Double.parseDouble()方法的源码:
public static double parseDouble(String s) throws NumberFormatException {
return FloatingDecimal.readJavaFormatString(s).doubleValue();
} //返回的是double数据类型
Double.valueOf()方法的源码:
public static Double valueOf(String s) throws NumberFormatException {
return new Double(FloatingDecimal.readJavaFormatString(s).doubleValue());
}
valueOf方法在返回的时候new Double(),所以返回的是Double类。