int与integer的区别
来源:互联网 发布:java web文件服务器 编辑:程序博客网 时间:2024/06/14 14:58
Java int与integer的区别
int与integer的区别是基本数据类型与其包装类的区别:
int为基本数据类型,直接存数值,初始化为0,而integer是复杂数据类型,为对象,用一个引用指向这个对象,初始化为null。integer为int的封装类。
初始化:int i= 1;
Integer i= new Integer(1)
由于在java中有自动装箱和拆箱机制,简单的理解为将基本数据类型与对象数据类型的转化,由基本数据类型封装为对象数据类型为装箱,反之则为拆箱。
例如:Integer num = 10 被自动装箱为Integer num= new Integer(10)
而int num1 = num 则为自动拆箱。
由于对象不能直接进行运算,则在进行运算时,会有自动拆箱的过程。如num--;
但是java定义了自动装箱时针对-128到127之间的值,在被装箱为Integer对象后,会存在内存中被重用,始终只存在一个对象,对于超出此范围的值,被装箱后的Integer对象后不会被重用,即相当于每次装箱时都新建一个Integer对象。
例如:
Integer num1 = 297; Integer num2 = 297;
System.out.println("num1==num2:"+(num1==num2));
Integer num3 = 97; Integer num4 = 97;
System.out.println("num3==num4:"+(num3==num4));
打印的结果是:num1==num2: false num3==num4: true
在java中需要往ArrayList,HashMap中放东西时,像int,double这种内建类型(基本数据类型?)是放不进去的,因为容器都是装 object的,这是就需要这些内建类型的外覆类了。java的每种内建类型都有相应的外覆类。
例如:ArrayList array = new ArrayList();
int n =40;
Integer n1 = new Integer(n);
array.add(n);//错误
array.add(n1); //正确
List<Integer> list = newArrayList<Integer>();//正确
List<int> list = newArrayList<int>();//错误
总结:定义一个int类型的基本数据类型,只是用来进行加减乘除的简单运算或者是作为参数传递。
定义一个integer来声明一个对象,是以对象来进行处理的,需要使用对象间的转化方式和方法。
参考资料:点击打开链接
- int与integer的区别!
- int 与 Integer 的区别
- int与Integer的区别
- int与integer的区别
- int与Integer的区别
- Integer与int的区别
- int与integer的区别!-
- int与Integer的区别
- Integer 与int 的区别
- Integer与int的区别
- int 与 integer的区别
- Integer与int的区别
- Integer与int的区别
- int与Integer的区别
- Integer与int的区别
- Integer与int的区别
- Integer与int的区别
- Integer与int的区别
- <手动安装Openstack Mikita>之(三) Glance安装
- sturts的学习和使用
- Android实现首字母导航条(仿微信)
- solr管理界面详解
- iOS 面试题(2)
- int与integer的区别
- ajax的两个关键字
- 1003. 我要通过!(20)
- Linux c 调试工具---strace
- android audio 源码分析之AudioService
- Shell脚本之crontab定时任务
- android DataBinding 的简介和使用
- 剑指Offer----面试题41(2):和为s的连续正数序列
- Android 四大组件五大布局