靖州建设局网站,互联网运营培训班哪个好,网页设计与网站建设在线考试石油大学,网站icp备案申请包装类 
包装类简介 
Java语言是典型的面向对象编程语言#xff0c;但是其中的8种基本数据类型并不支持面向对象编程#xff0c;基本类型数据不具备对象的特性#xff0c;即#xff1a;没有携带属性以及没有方法可以调用。 
为了解决上述问题#xff0c;java为…包装类 
包装类简介 
Java语言是典型的面向对象编程语言但是其中的8种基本数据类型并不支持面向对象编程基本类型数据不具备对象的特性即没有携带属性以及没有方法可以调用。 
为了解决上述问题java为每种基本类型设计分别设计了对应的类称为包装类(Wrapper Classes)。 
基础数据类型类与包装类对应关系如下图所示。 
基本数据类型对应包装类byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean 
注每个包装类的对象可以封装一个相应的基本类型数据并提供了其他一些有用的方法。包装类对象一经创建其内容(所封装的基本类型数据值)不可改变。所有的包装类都是抽象类Number的子类。 
基本类型和对应的包装类可以相互转化 从基本类型向对应的包装类转换称为装箱。 egchar包装成为Character类的对象。  从包装类向对应的基本类型转换称为拆箱。 egCharacter类的对象重新简化为char。  
手动装箱和拆箱 
以int和Integer为例可以通过Integer类的构造方法(构造器)将int装箱通过Integer类的intValue方法将Integer拆箱。手动装箱和拆箱如下图所示。 Integer类中常用方法 静态paseInt方法可以将字符串转化为整数方法定义如下图所示。 其中s参数为要转换的字符串radix为要转化字符串中数的进制默认进制为十进制。 方法调用效果如下图所示。 注图中radix为要转化字符串中数的进制。即将一个指定进制为radix的字符串s解析为一个十进制整数。 补充有些字符串无法通过此方法转换为整数如下图所示。 很明显123abc等字符串的数字内容并不是十进制的数字类型故不能转化为整数形式。  静态toString方法可以将整数转化为字符串方法定义如下图所示。 其中i参数为要转换的整数radix参数为该整数要转换成radix进制的字符串默认进制为十进制。 方法调用效果如下图所示。 注图中radix为转化后字符串中数的进制。即将一个数i转化为一个指定进制数为radix的字符串。 补充直接在整数后加空字符串也可将整数转换为字符串形式。如下图所示。  
自动装箱和拆箱 
在Java1.5之后可进行自动拆箱装箱即在进行基本数据类型和对应的包装类转换时系统将自动进行方便了书写。如下图所示。 其中编译器会根据所写语法决定是否进行拆箱装箱动作如下式所示。 
//装箱
Integer i  100;
//上式等价于下式的手动装箱
Integer i  new Integer(100);
//拆箱
int j  i;//i如前式已装箱
//上式等价于下式的手动拆箱
int j  i.intValue(); 
注自动功能也存在弊端如下式所示。 
Integer i  null;
int j  i; 
这段代码在编译期间是合法的但运行时会有错误。因为在拆箱时需要调用Integer对象中的intValue方法但变量i没有任何实例对象故不能使用intValue方法。所以上述式子运行时会产生NullPointerException错误。如下图所示。