【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?-LMLPHP


专栏推荐

  • 专门为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类为例:
【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?-LMLPHP
下表为各个包装类通用的方法。xxx为其类型。

泛型、集合支持

可以支持在泛型参数或者集合中使用。

默认值为null

因包装类为对象,因此未被分配空间时,其初始化为null。


🌟如何选择?

我们来看一下阿里巴巴代码规范中有关这部分的说明,通过1、2两点可以理解,假如数据库中查找出的结果为null,而我们用基本数据类型接受返回值,那么就会触发自动拆箱操作并抛出NPE。
【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?-LMLPHP
总结一下

  1. 包装类可以在集合、泛型中使用,而基本类型不可以。
  2. 根据业务场景判断是否需要包装类,注意包装类的使用,其拆箱装箱也会影响性能
  3. 根据业务场景判断某变量是否存在null的情况。如果存在,那么则使用包装类。

🌟两者区别


🌟写在最后

有关于变量声明选择包装类还是基本类型有哪些讲究?到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?-LMLPHP

09-23 11:04