int和Integer的区别及各自用法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Enjoy_endless/article/details/65658810

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类。

展开阅读全文

没有更多推荐了,返回首页