zoukankan      html  css  js  c++  java
  • 关于Java基础类型自动装箱(autoboxing)

      Java SE 1.5 版本及之后,开始提供自动装箱功能。

      自动装箱,将基础类型“包装”成一种类型:

        基本类型 -->  包装器类

      如下过程可触发自动装箱过程:

        Integer count = 1;

        Double amount = 2.0D

      

      从 Javadoc API 上看,包装器类提供方法,对封装的基础类型进行操作:

        类型转换,如 float --> int

        比较

        ...

      值得注意的是,对于 [-128, 127] 之间的数值,自动装箱利用缓存提供内存使用效率。

      即,自动装箱对于该范围的数值,得到的包装器类内存地址不变。

      例如,

        Integer a = 129;

        Integer b = 129;

        System.out.println(a == b);// output true

    实践:

    1、自动装箱出现在变量声明中;

    2、考虑使用情景之一,需要对基础类型进行比较、类型转换等操作;

    3、若需对包装器类进行 == 比较,建议转换为基础类型后,再进行。

      为了避免缓存数值范围 [-128, 127] 对 == 比较结果的影响。

  • 相关阅读:
    软件工程 团队博客第二阶段成绩
    现代软件工程 10 绩效管理
    现代软件工程讲义 1 软件工程概论
    现代软件工程讲义 0 教学方法
    软件工程 敏捷的酒后问答
    我传递了错误的信息
    起跑点上
    输在起跑点上?
    好可怕的假相
    浪子回头
  • 原文地址:https://www.cnblogs.com/CoolSoul/p/5874631.html
Copyright © 2011-2022 走看看