当前位置:网站首页 > Java基础 > 正文

java自动拆卸教程



 <p>Java 1.5 引入了一种特殊功能,即将原始类型自动转换为相应的包装器类,反之亦然。</p> 

自动装箱 :将原始类型自动转换为相应包装类的对象称为自动装箱。例如 – 将转换为,将转换为,将转换为等。

拆箱:这只是自动装箱的逆过程。自动将包装类的对象转换为其对应的原始类型类型称为拆箱。例如 – 将转换为,转换为,将转换为等。

 
  

让我们看一些带有示例的案例,其中发生了自动装箱。

案例 1 :当一个方法期望一个包装器类对象但是作为参数传递的值是一个基本类型。例如,在下面的代码中,方法期望一个包装类的对象,但是我们传递了一个原始的类型。程序运行正常,因为编译器执行自动装箱(将转换为)

 
  

输出:

 
  

案例 2 :在某个时间点,您将原始类型值分配给其包装类的对象。例如:以下语句有效,因为编译器在运行时执行自动装箱。

 
  

案例 3 :处理集合框架类时:

 
  

这里类需要一个包装类对象,但是我们提供了原始类型。

案例 1 :方法期待对象(参数)但我们提供了。发生了将转换为的自动转换(拆箱)。

 
  

输出:

 
  

案例 2 :作业

 
  

案例 3 :在处理集合类时:

 
  

在上一节中,我们学习了 java 编译器如何在基本类型和相应的包装器对象之间执行自动转换。让我们讨论一下编译器在自动装箱和拆箱过程中实际做了什么。理解这一点的最好方法是比较 java 1.5 之前和 java 1.5 之后的事情(java 1.5 中引入的装箱和拆箱)。

自动装箱

我们看到了什么:

 
  

编译器做了什么(或者我们以前在 java 1.5 之前做过的事情):

 
  

拆箱

我们看到了什么:

 
  

编译器做什么:

 
  

类似的事情发生在其他包装类和原始类型,如,,等。

在进行比较时不要混合原始类型和对象。对于这样的比较,您可能会得到不可预测的结果。更好的做法是:将对象与对象进行比较(使用方法)并将原始类型与原始类型进行比较(使用逻辑运算符,如,等)。

  • 上一篇: java域名教程
  • 下一篇: java22安装教程
  • 版权声明


    相关文章:

  • java域名教程2026-02-19 18:34:04
  • java教程正版2026-02-19 18:34:04
  • java教程分支2026-02-19 18:34:04
  • padi java教程2026-02-19 18:34:04
  • java游戏源码教程2026-02-19 18:34:04
  • java22安装教程2026-02-19 18:34:04
  • java分析教程2026-02-19 18:34:04
  • java与mybatis教程2026-02-19 18:34:04
  • aide使用教程手机版java2026-02-19 18:34:04
  • java单词编写教程2026-02-19 18:34:04