基本数据类型和对象数据类型的区别

基本数据类型和对象数据类型的区别

在java当中数据类型分为基本数据类型和对象数据类型。其中基本数据类型包括int、long、bollean、double、char、byte、short、float八大基本类型。对象类型包括String、BigInteger等等

首先,基本数据类型和对象数据类型的存储方式是不同的。在基本类型当中,所有的简单数据类型都不存在“引用”的概念,基本数据类型都是直接存储在栈中,数据本身的值就是存储在栈空间中。而对于对象数据类型来说,Java使用堆和栈来对其进行存储。Java的机制告诉我们,所有的引用类型都是继承自Object类,于是,Java会按照对象的存储模型来进行内存分配。也就是说,“引用”是存储在栈上的,而对象本身的值是存储在堆当中的。于是 ,由于Java对于基本类型和对象类型的存储方式不同,决定了他们的某些操作也是不同的,比如说“==”和“!=”,对于基本的数据类型来说,这是在比较值。而对于对象类型来说,这是比较它们的引用。因此,Java对于大多数的类库都写了equals()方法来比较两个对象数据类型的内容。但要注意的是,程序员自己写的对象数据类型,默认的equals()函数是比较它们的引用,因此,如果想要比较内容的话,需要程序员自己重写equals()函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值