网站维护的作用,一键免费搭建手机网站,无锡设计师网站,公司建设网站的通知书#x1f9d1;#x1f4bb;作者名称#xff1a;DaenCode #x1f3a4;作者简介#xff1a;CSDN实力新星#xff0c;后端开发两年经验#xff0c;曾担任甲方技术代表#xff0c;业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开… 作者名称DaenCode 作者简介CSDN实力新星后端开发两年经验曾担任甲方技术代表业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅闭关学习中······ 人生感悟尝尽人生百味方知世间冷暖。 所属专栏Java基础夯实 专栏推荐
专门为Redis入门打造的专栏包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接《Redis从头学》专门为RabbitMQ入门打造的专栏持续更新中。。。。。。。。链接《图解RabbitMQ》 文章目录 专栏推荐前言认识包装类介绍特性自动装箱、拆箱额外的方法、常量泛型、集合支持默认值为null 如何选择两者区别写在最后 前言
在日常开发中都离不开变量的声明那么我们应该如何选择基本数据类型还是包装类型呢 认识包装类
介绍 个人理解包装类就是将基本数据类型封装其对应的对象并赋予了一些基本数据类型没有的特性。 包装类基本类型BooleanbooleanBytebyteCharactercharShortshortIntegerintLonglongFloatfloatDoubledouble
特性
自动装箱、拆箱 自动拆箱、装箱自JDK1.5之后支持在此之前都是手动装箱、拆箱在编译时期进行自动类型的转换。注意拆装箱的箱子是指左侧也就是往左侧拆箱装箱。 自动拆箱将包装类型变量赋值给基本数据类型变量。自动装箱将基本数据类型赋值给包装类型变量。
//手动装箱
int a10;
Integer bInteger.valueOf(a);
//手动拆箱
int cb.intValue();
//自动装箱
Integer a10;
//自动拆箱
int ba;额外的方法、常量
提高了一些其对应基本数据类型的操作方法还有额外的静态常量MAX_VALUE、MIN_VALUE来取出其取值范围的最大最小值还有转换成各种进制字符串的方法。下图以Integer类为例 下表为各个包装类通用的方法。xxx为其类型。
方法名称描述xxxValue()将包装类型转换为基本数据类型的值。parseXxx(String s)将字符串解析为相应的包装类型的值。valueOf(Xxx x) 或 valueOf(String s)将基本数据类型或字符串转换为相应的包装类型的对象。toString()返回此包装类型对象的字符串表示形式。equals(Object obj)比较两个对象是否相等。compareTo(Xxx x)与另一个同类型的对象进行比较。hashCode()返回对象的哈希码值。getClass()返回对象的运行时类。
泛型、集合支持
可以支持在泛型参数或者集合中使用。
默认值为null
因包装类为对象因此未被分配空间时其初始化为null。 如何选择
我们来看一下阿里巴巴代码规范中有关这部分的说明通过1、2两点可以理解假如数据库中查找出的结果为null而我们用基本数据类型接受返回值那么就会触发自动拆箱操作并抛出NPE。 总结一下
包装类可以在集合、泛型中使用,而基本类型不可以。根据业务场景判断是否需要包装类注意包装类的使用其拆箱装箱也会影响性能。根据业务场景判断某变量是否存在null的情况。如果存在那么则使用包装类。 两者区别
区别基本数据类型包装类数据类型int、char、boolean 等Integer、Character、Boolean 等存储方式栈内存堆内存可空性不可为 null可为 null自动装箱与自动拆箱不支持支持集合框架的使用不可作为集合元素类型可作为集合元素类型 写在最后
有关于变量声明选择包装类还是基本类型有哪些讲究到此就结束了。感谢大家的阅读希望大家在评论区对此部分内容散发讨论便于学到更多的知识。