你的位置:首页 > Java教程

[Java教程]Java api 入门教程 之 JAVA的包装类


Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。

包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示:

包装类对应表

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double


         

在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一直,只是类名的第一个字母大写即可。

对于包装类说,这些类的用途主要包含两种:

a、作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。

b、包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

         

由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。

 

1、实现int和Integer类之间的转换

 

在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:

 

/**  * 方法名:intAndInteger</br>  * 详述:Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换</br>  * 开发人员:souvc </br>  * 创建时间:2016年2月1日 </br>  * @throws   */  @Test  public void  intAndInteger(){     int intToInteger = 10;     Integer in = new Integer(intToInteger);//将int类型转换为Integer类型     System.out.println(in);             Integer integerToInt = new Integer(100);     int m = integerToInt.intValue(); //将Integer类型的对象转换为int类型     System.out.println(m);   }

  

2、Integer类内部的常用方法

 

在Integer类内部包含了一些和int操作有关的方法,下面介绍一些比较常用的方法:

 

a、parseInt方法

    public static int parseInt(String s)

 

该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:

 

/**  * 方法名:intParseInt</br>  * 详述:将字符串转换为对应的int数字</br>  * 开发人员:liuhf </br>  * 创建时间:2016年2月1日 </br>  * @throws   */  @Test  public void  intParseInt(){    String s = "123";    int n = Integer.parseInt(s);    System.out.println(n);  }

 

则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。(说明:异常的概念将在下一章进行讲述)

 

另外一个parseInt方法:

         public static int parseInt(String s, int radix)

 

则实现将字符串按照参数radix指定的进制转换为int,使用示例如下:

 

/**  * 方法名:intParseInt</br>  * 详述:将字符串转换为对应的int数字</br>  * 开发人员:liuhf </br>  * 创建时间:2016年2月1日 </br>  * @throws   */  @Test  public void  intParseInt2(){        int n1 = Integer.parseInt("120",10); //将字符串”120”按照十进制转换为int,则结果为120    System.out.println(n1);    int n2 = Integer.parseInt("12",16);//将字符串”12”按照十六进制转换为int,则结果为18    System.out.println(n2);    int n3 = Integer.parseInt("ff",16);//将字符串”ff”按照十六进制转换为int,则结果为255    System.out.println(n3);  }

 

这样可以实现更灵活的转换。

 

 b、toString方法

1.  public static String toString(int i)    该方法的作用是将int类型转换为对应的String类型。

使用示例代码如下:

        int m = 1000;

        String s = Integer.toString(m);

         则字符串s的值是”1000”。

 

2.  另外一个toString方法则实现将int值转换为特定进制的字符串:

public static int parseInt(String s, int radix)

使用示例代码如下:

         int m = 20;

         String s = Integer.toString(m);

          则字符串s的值是”14”。

 

其实,JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。

使用示例代码如下:

                   //int类型会自动转换为Integer类型

                   int m = 12;

                   Integer in = m;

                   //Integer类型会自动转换为int类型

                   int n = in;

 所以在实际使用时的类型转换将变得很简单,系统将自动实现对应的转换。