专栏推荐
- 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。
链接>>>>>>>>>
《Redis从头学》 - 专门为RabbitMQ入门打造的专栏,持续更新中。。。。。。。。
链接>>>>>>>
《图解RabbitMQ》
🌟前言
在日常开发中,都离不开变量的声明,那么我们应该如何选择基本数据类型还是包装类型呢?
🌟认识包装类
介绍
特性
自动装箱、拆箱
- 自动拆箱:将包装类型变量赋值给基本数据类型变量。
- 自动装箱:将基本数据类型赋值给包装类型变量。
//手动装箱
int a=10;
Integer b=Integer.valueOf(a);
//手动拆箱
int c=b.intValue();
//自动装箱
Integer a=10;
//自动拆箱
int b=a;
额外的方法、常量
提高了一些其对应基本数据类型的操作方法,还有额外的静态常量MAX_VALUE、MIN_VALUE来取出其取值范围的最大最小值,还有转换成各种进制字符串的方法。下图以Integer类为例:
下表为各个包装类通用的方法。xxx为其类型。
泛型、集合支持
可以支持在泛型参数或者集合中使用。
默认值为null
因包装类为对象,因此未被分配空间时,其初始化为null。
🌟如何选择?
我们来看一下阿里巴巴代码规范中有关这部分的说明,通过1、2两点可以理解,假如数据库中查找出的结果为null,而我们用基本数据类型接受返回值,那么就会触发自动拆箱操作并抛出NPE。
总结一下:
- 包装类可以在
集合、泛型中使用
,而基本类型不可以。 - 根据业务场景判断是否需要包装类,注意包装类的使用,其
拆箱装箱也会影响性能
。 - 根据业务场景判断某变量
是否存在null的情况
。如果存在,那么则使用包装类。
🌟两者区别
🌟写在最后
有关于变量声明选择包装类还是基本类型有哪些讲究?到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。