当前位置:   article > 正文

java中的装箱和拆箱_java装箱拆箱

java装箱拆箱

java中的装箱和拆箱

1. 什么是装箱和拆箱
Java中的数据类型项由8大基本数据类型和引用数据类型,其中基本数据类型存储在栈中,而引用类型的数据则在栈中存储了一个地址,引用类型的数据则存储在堆中;(这里需要注意的是这里的堆和数据结构中的堆没有任何关系,我们可以把堆看作是一个池)

而所谓装箱就是把基本数据类型存储在堆中,所以要把他变成引用类型;反过来所谓拆箱,就是把引用类型中的数据放到栈中,要把它变成基本数据类型。

Java中给我们提供很多的包装类,可以参考帮助文档学习:
java JdkAPI下载

小案例:

package com.iobox.dem01;

public class Test {
    public static void main(String[] args) {
        //基本类型;
        int num1=18;
        //装箱,基本数据类型转换为引用数据类型。
        //使用Integer类创建对象
        System.out.println("装箱:");
        Integer integer1=new Integer(num1);
        Integer integer2=Integer.valueOf(num1);
        System.out.println(integer1);
        System.out.println(integer2);

        //类型转换,拆箱:引用类型转换为基本类型
        System.out.println("拆箱:");
        Integer integer4=new Integer(100);
        int num2=integer4.intValue();
        System.out.println(num2);

        //jdk1.5之后,自动提供装箱和拆箱
        int num3=120;
        //自动装箱
        Integer interger5=num3;
        System.out.println("自动装箱:"+interger5);
        System.out.println(interger5.getClass());
        //自动拆箱
        int num4=interger5;
        System.out.println("自动拆箱:"+num4);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

2. 基本数据类型和字符串之间的转换

  • 基本数据类型转化为string数据类型,可以使用 + 号;也可以使用Integer类中的toString()方法;
  • 字符串型转换为基本数据类型,使用Integer.parsXXX()
  • boolean字符串形式转成基本数据类型,即"true"—>true ,其中只要是 非"true"那就转化false;

案例:

package com.iobox.dem01;

public class Test01 {
    public static void main(String[] args) {
        //1基本数据类型转换为string数据类型
        int num1=124;
        //1.1使用+号
        String s1=num1+"";
        System.out.println(s1);
        //1.2使用Integer类中的toString()方法
        String s2=Integer.toString(num1,16);//16表示16进制
        System.out.println(s2);

        //2.字符串转成基本数据类型
        String str="150";
        //使用Integer.parsXXX()
        int n1=Integer.parseInt(str);
        System.out.println(n1);

        //boolean字符串形式转成基本数据类型,"true"--->true  || 非"true"-->false
        String str2="true";
        boolean b1= Boolean.parseBoolean(str2);
        System.out.println(b1);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/470444
推荐阅读
相关标签
  

闽ICP备14008679号