zoukankan      html  css  js  c++  java
  • Java自动装箱和拆箱

    jdk5.0之后,在基本数据类型封装类之间增加了自动装箱和拆箱的功能,其实“自动”的实现很简单,只是将装箱和拆箱通过编译器,进行了“自动补全”,省去了开发者的手动操作。

    而进行封装类与对应基本数据类型之间的转换,原因很简单:

    基本类型转换为引用类型后,就可以new对象,从而调用包装类中封装好的方法进行基本类型之间的转换或者toString(当然用类名直接调用也可以,便于一眼看出该方法是静态的),还有就是如果集合中想存放基本类型,泛型的限定类型只能是对应的包装类型。

    1.自动装箱

      a).基本实现

     1 public class Test {
     2     public static void main(String[] args) {
     3         // jdk5.0之前创建对象的例子.
     4         Integer a = new Integer(1000);
     5         // jdk5.0以后,自动装箱,当赋值符号左边是封装类引用,右边是"对应"的基本数据类型值时,
     6         // 编译器将右边数值自动装箱,变成new Integer(1000);
     7         Integer b = 1000;
     8 
     9         //Long类型自动装箱
    10         /*
    11         * 无效的代码,编译不通过,赋值符号右边应该是longl类型的值
    12         * Long c = 1000;
    13         * */
    14         Long c = 1000L;//正确的姿势
    15 
    16     }
    17 }

      b).说明

        自动装箱的规范格式为:赋值符号左边是封装类的引用,右边是“对应”的基本数据类型数值;

    2.自动拆箱

      a).基本实现

    1 public class Test {
    2     public static void main(String[] args) {
    3         Integer a = new Integer(1000);
    4         // 自动拆箱,当赋值符号左边是基本数据类型变量,右边是"对应"封装类对象时,
    5         // 编译器将右边对象拆箱,变成a.intValue()
    6         int b = a;
    7         double c = new Double(1000);
    8     }
    9 }

     b).说明

        自动拆箱的规范格式为:赋值符号左边是基本数据类型的变量,右边是“对应”的封装类的对象;

  • 相关阅读:
    Android:Toast简单消息提示框
    Android:布局实例之模仿微信Tab
    Android:属性scaleType与图片的显示
    Android:TabHost实现Tab切换
    Android:requestWindowFeature应用程序窗体显示状态操作
    Android:控件WebView显示网页
    Android:通过Intent访问一个网页
    Android:控件Spinner实现下拉列表
    MongoDB命令
    javascript typeof 和 constructor比较
  • 原文地址:https://www.cnblogs.com/coderls/p/6436043.html
Copyright © 2011-2022 走看看