【夯实基础】Java 自动拆装箱的避坑
  OIW0KlaMcRRl 2023年11月28日 37 0


众所周知,Java的8种基本数据类型,byte(字节型)、short(短整型)、int (整型) 、long(长整型)、float(单精度浮点型)、double(双精度浮点型)、boolean(布尔型)、char(字符型)有着其对应的包装类,虽然扩展了基本数据类型的能力,但是也有要避免的坑。

【等值比较】

!!! 装箱后,Integer,Long等是引用类型,等值比较应该使用 equals方法,而不是==,虽然在-128~127之间的数可以直接比较,原因是Integer,Long维护了IntegerCache与LongCache,在==比较的时候,使用的cache的值。

【空指针问题】

还是因为包装类为引用类型的问题,如果作为字段的时候,未初始化或者0值null得时候,引用的空地址,引发空指针异常。
【自动转换问题】

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。

转换从低级到高级。


低 ------------------------------------> 高 byte,short,char—> int —> long—> float —> double


初学者很多时候,不注意,导致在使用的过程中容易出现疑问。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月28日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   114   0   0 Java
  8s1LUHPryisj   2024年05月17日   49   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
OIW0KlaMcRRl