0
点赞
收藏
分享

微信扫一扫

Java拆装箱

Java拆装箱就是​​j​​ava相应的基本数据类型和引用类型的互相转化。

 

1、Java拆装箱是Java1.5的新特性,即是可以这样定义,Integer count = 5 ;而不会出现IDE编译不过的错误。

2、装箱就是把byte ,int ,short, long ,double,float,boolean,char 这些Java的基本数据类型在定义数据类型时不声明为相对应的引用类型,在编译器的处理下自动转化为引用类型的动作就叫做装箱。

3、拆箱就是把Long,Integer,Double,Float 等将基本数据类型的首字母大写的相应的引用类型转化为基本数据类型的动作就叫拆箱。

4、以下说明下Java的基本数据类型与引用类型: 

  Java四类八种基本数据类型

  第一类,整型:byte int short long

      short 的位数不能超过4位,否则会报不能由int 转换成short的编译错误

  第二类,浮点型:double,float ;

      double 可以直接定义如变量名等于73.92,而float要在后面加个f,否则编译器会认为是double而报转换 类型错误

  第三类,逻辑型:boolean 缺省值(默认值)为false

      只能取值true或者false

  第四类,字符型:char

      单眼号定义,汉字只能存一个,数字也只能存一位

除开这八种类型,其他的都是引用类型了

引用类型:类、接口类型、数组类型、枚举类型、注解类型

5、Java数据类型的存储位置:

  基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;

  引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆 内存上,然后由栈上面的引用指向堆中对象的地

6、Java数据类型的比较:

  基础数据类型的比较只能使用==号,比的是数据的值,而不能使用equals;引用类型两个都可以,当使用 ==比较的是内存地址,使用equals比较的是堆内存里面的内容

7、拆装箱的性能:

  尽管Java编译器能够帮组我们自动进行相应基本数据与引用类型的相互转化,但是不太建议编程中大量使 用,因为存在二次转化,考虑性能。

  尽量避免基础类型与引用类型的自动拆装箱,损耗性能

  避免 Integer integer = 10;起码得是Integer integer = new Integer(10);

  尽量不要用Integer.valueOf(String str);而要用Integer.parseInt(String str)

  Integer.valueOf()把String 型转换为Integer对象。因此在int countNum = ? 的情况下用Integer.parseInt() 很好的,直接变成int类型的值,而不用再拆箱变成基础类型了。

  Integer.parseInt()把String 型转换为Int型,

  就是说Integer.valueOf(S)是针对包装类来说的,而Integer.parseInt(s) 是针对变量而言


举报

相关推荐

0 条评论