int 和 Integer 这两个概念的区别

、先区分下int 和 Integer 这两个概念的区别,因为这是JAVA面试常问的问题。

区别:

int : 基本数据类型,就如:double、char等。

Integer:是一种预定义JAVA包装类,用来对数字字符串进行处理,就如:String 是一种用来处理

字符串的预定义类;Integer可以理解成事int的包装类,它可以实例化对象。

联系:

1、 在JDK 1.5Z之后,可以实现自动装箱(下面讲解)及拆箱操作。

2 、int 和 Integer 都可以表示同一个整数,但是原理不一样,或者说:计算机给它们分配的内存

空间不一样。比如:int x = 20; Integer x = new Integer(20) ,它们都是往计算机中存储了一个

值20,但 是第二个的原理更复杂。接下来就看看下面的例子吧……

2、两行代码:

Integer num; // Line1

num = new Integer(78); // Line2

3、现在对以上代码进行分析,得出我们余下的几个概念。

|- Line1,申明一个整型变量 num ,还没有存到计算机中,因而 num 不是实际数据。

|- Line2,详细分析:

1、使用运算符 new 为变量 num 分配了一个内存空间来存整数。这个内存空间是有地址

的,假如,内存地址编号为:2500 ;

2、Integer(78) 表示把78这个值存储到这个编号为2500的内存中;

3、接下来 new 再返回给 num 的是这个已经存了值的内存空间的地址,即:2500;也就

是说,变量 num 存储的是已分配内存空间的地址2500,而 2500处的内存存储的是数

字 78;

4、用图来说明,如下:



5、好了,经过上面的分析,接下来我们就给出几个概念。

# 1、任何使用类申明的变量(如:num )称作 “引用变量”。严格的说,引用变量时存储

内存空间地址的变量。

# 2、存储数字78的内存空间2500 称作 “Integer 对象”,另外,我们将Integer对象称

作Integer类的 “实例”。

# 3、因为 num 是一个 Integer 类型的引用变量,因此, num 可以存储任意 Integer 对

象的地址;换句话说,num 可以指向或者引用任何 Integer 对象。我们将 num 指向

的 Integer 对象称作“num 对象”

# 4、“Integer 对象” 也即是 “num 对象”。

4、总结:当使用类时,我们首先声明某种类的引用变量,然后使用运算符 new 创建该类的一个对象实

例,并将对象的地址存储到引用变量中。

5、JAVA装箱、拆箱:

1、Java1.5之后,类型包装器有:Double,Float,Long,Integer,Short,Character和BooleanJ2SE

将自动装箱/拆箱引入java中。

2、自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型

的包装中。

3、自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去

调用intValue()和doubleValue()方法。

4、自动装箱,只需将该值赋给一个类型包装器引用,java会自动创建一个对象。例如: Integer

i=100 ,没有通过使用new来显示建立,java自动完成。自动拆箱,只需将该对象值赋给一个

基本类型即可。例如:int j=i 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值