int 和 Integer 有什么区别

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

Java中包含三种引用类型即为数组,类,接口, Java得三种引用类型,储存在引用类型变量中的值是该变量表示的值的地址”。最大的区别:值类型的变量存放在栈里;引用类型的数据存放在堆中

具体区别:

1、值类型继承自ValueType(注意:而System.ValueType又继承自System.Object);而引用类型继承自System.Object

3值类型的内存不由GC(垃圾回收,Gabage Collection)控制,作用域结束时,值类型会自行释放,减少了托管堆的压力,因此具有性能上的优势。例如,通常structclass更高效;而引用类型的内存回收,由GC来完成。

4、值类型是密封的(sealed),因此值类型不能作为其他任何类型的基类,但是可以单继承或者多继承接口;而引用类型一般都有继承性

5、值类型不具有多态性;而引用类型有多态性

6、值类型有两种状态:装箱和未装箱,运行库提供了所有值类型的已装箱形式;而引用类型通常只有一种形式:装箱。(装箱和取消装箱的概念是 C# 的类型系统的核心。它在“值类型”和“引用类型”之间的架起了一座桥梁,使得任何“值类型”的值都可以转换为 object 类型的值[装箱],反过来转换也可以。其中任何类型的值最终都可以按对象处理。)

Intjava的原始数据类型,Integerjavaint提供的封装类Java为每个原始类型提供了封装类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值