DBMNG数据库管理与应用

独立思考能力,对于从事科学研究或其他任何工作,都是十分必要的。
当前位置:首页 > MySQL > 常见问题

表达式中发生的自动装箱/拆箱

12.3.2 表达式中发生的自动装箱/拆箱

通常无论何时,当需要将基本类型转换为对象或者将对象转换为基本类型时,就会发生自动装箱和自动拆箱。对于表达式也是如此。在表达式中,数值对象会被自动拆箱。如果需要的话,还可以对表达式的输出进行重新装箱。例如,分析下面的程序:

 

输出如下所示:

 
 

在这个程序中,应特别注意下面这行代码:
  1. ++iOb; 

这会导致iOb中的值递增。具体工作过程如下:将iOb自动拆箱,将值递增,然后将结果自动装箱。

自动拆箱还允许在表达式中混合不同数值类型的对象。一旦数值被拆箱,就会应用标准的类型提升和转换。例如,下面的程序是完全合法的:

 
输出如下所示:
  1. dOb after expression: 198.6 

可以看出,Double对象dOb和Integer对象iOb都参与了加法运算,对结果再次装箱并存储在dOb中。

因为提供了自动拆箱特性,所以可以使用Integer数值对象控制switch语句。例如,分析下面的代码段:

 

当对switch表达式进行求值时,iOb被拆箱,从而得到其中存储的int型数值。

正如程序中的例子所显示的,因为提供了自动装箱/拆箱特性,在表达式中使用数值类型对象不仅很直观而且很容易。在过去,这种代码需要涉及强制类型转换,并且需要调用intValue()这类方法。

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号