QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
9
查看: 366|回复: 2

基本数据类型和包装类

[复制链接]
最佳答案
0 
累计签到:1 天
连续签到:1 天
Quincy 发表于 2017-12-13 21:01:53 3662 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
求大佬解释。

Java中一切皆是对象,那么基本数据类型算是对象吗?
  1. int a=10;
  2.                 System.out.println(a instanceof Object);
复制代码


这样写程序会报错,是不是说明Java中的基本数据类型不是对象?

包装类的存在是不是也说明基本数据类型不是对象,需要包装类的存在将基本数据类型变为对象呢?

楼层
跳转到指定楼层
最佳答案
1 
累计签到:6 天
连续签到:1 天
凡凡殇清 发表于 2017-12-29 13:58:30 | 显示全部楼层
包装类其实就是将基本数据类型和String 类型转换的桥梁
最佳答案
0 
累计签到:1 天
连续签到:1 天
一个坏人 发表于 2018-1-3 14:37:27 | 显示全部楼层
new创建对象存放在堆上,但创建简单、较小的变量没有必要用new。因此Java采用创建并非是引用的自动变量来存储这类小而简单的变量,并将它们放在堆栈里,以提高效率。这类自动变量就是Java的基本类型。
Java中一切皆对象,但基本类型却不是对象,为了解决这个问题,Java让每个基本类型都对应了一个包装器类型。

  包装器类型将基本类型包装起来,添加了属性和方法。Java SE5自动包装功能可以将基本类型转换为包装器类型,当然也可以反向转换。

  基本类型和它们的包装器类型有哪些区别呢?

  a)包含内容不同。基本类型只是表示一个数据,包装器类型包括数据和方法。

  b)声明方式不同。包装器类型需要使用new来声明,而基本类型不需要。

  c)未进行初始化时,默认初始值不同。如int作为类成员变量时,默认初始值为0,而包装器类型都为null。

  d)存储位置不同。基本类型存储在堆栈中,而包装器类型的引用存储在堆栈中,引用引用的对象存储在堆中。

  e)使用方式不同。基本类型可以直接赋值,不能放进List,Map等集合类中,而包装器类型可以。

  Java还提供了两个用于高精度计算的类,BigInteger(支持任意精读的整数)和BigDecimal(支持任何精度的定点数)。它们大体上属于包装器类型,但没有对应的基本类型。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-1-21 02:35

快速回复 返回顶部 返回列表