java 1.5 自动拆箱和装箱的注意事项
Posted 帅S俊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 1.5 自动拆箱和装箱的注意事项相关的知识,希望对你有一定的参考价值。
背景
java1.5后引入了自动装箱和自动拆箱的概念
自动拆箱:将引用类型转化为基本数据类型
自动装箱:将基本数据类型装为引用类型
但是实际使用中,什么情况自动拆箱什么情况自动装箱呢?
自动装箱
Integer i = 100; (调用Integer.valueOf(100)) 这里存在一个缓存变量 -128~127 ,如果基本数据类型在此范围内,则使用缓存的对象,否则new Integer(number)
自动拆箱
//第一种情况 Integer i = 100; int x = i; (调用 i.initValue()) //第二种情况 Integer i = 100; int x = 100; System.out.println(i == 100)
自动填坑
---------1----------- Integer a = 100; Integer b = 100; a == b //结果是true ----------2---------- Integer a = 200; Integer b = 200; a == b //结果是false 包装类型的比较,用equals() -----------3--------- Integer a = 200; int b = 200; a == b //结果是true -----------4--------- Integer a = 200; int b = 200; a.equals(b) //结果是true ------------5-------- Long a = 200; int b = 200; a.equals(b) //结果是false 如果类型不同一定为false
以上是关于java 1.5 自动拆箱和装箱的注意事项的主要内容,如果未能解决你的问题,请参考以下文章