zoukankan      html  css  js  c++  java
  • Java拆箱与装箱

    1. 包装类型

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。

    包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示

     在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。

    2. 为什么需要包装类

    很多人会有疑问,既然Java中为了提高效率,提供了八种基本数据类型,为什么还要提供包装类呢?

    这个问题,其实前面已经有了答案,因为Java是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。比如,在集合类中,我们是无法将int 、double等类型放进去的。因为集合的容器要求元素是Object类型。

    为了让基本类型也具有对象的特征,就出现了包装类型,它相当于将基本类型“包装起来”,使得它具有了对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

    3. 拆箱与装箱

    package com.se.PackageClass;
    
    public class BooleanTest {
        public static void main(String[] args) {
            //boolean Boolean 相互之间的转换
            //boolean --> Boolean 装箱操作
            Boolean b = false;
            Boolean b1 = new Boolean(b); // 装箱操作
            Boolean b2 = b; // 自动装箱操作
            System.out.println(b1);
            System.out.println(b2);
    
            //Boolean --> boolean 拆箱操作
            boolean b3 = b1.booleanValue(); // 拆箱操作
            boolean b4 = b1; // 自动拆箱操作
            System.out.println(b3);
            System.out.println(b4);
        }
    }

    参考博客:https://blog.csdn.net/wufaliang003/article/details/82347077

  • 相关阅读:
    转 new和malloc的区别
    转 内联函数
    转 C++宏定义详解
    转 内联函数和宏定义的区别
    转 C++中不能声明为虚函数的有哪些函数
    转 PV操作简单理解
    转 Python执行系统命令的方法
    转 常量指针和指针常量的区别详解
    转 python语法学习面向对象之继承
    Singleton、MultiThread、Lib——实现单实例无锁多线程安全API
  • 原文地址:https://www.cnblogs.com/LEPENGYANG/p/15027857.html
Copyright © 2011-2022 走看看