Java 包装类

来源:互联网 发布:防恶意代码软件 编辑:程序博客网 时间:2024/05/01 23:49
      Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。

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

基本数据类型

包装类

byte

Byte

boolean

Boolean

short

Short

char

Character

int

Integer

long

Long

float

Float

double

Double

      在这八个类名中,除了Integer和Character类以后,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写即可。对于包装类说,这些类的用途主要有:

      (1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);
      (2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");
      (3)可生成对象基本值的typeValue方法,如obj.intValue();
      (4)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);
      (5)生成哈稀表代码的hashCode方法,如obj.hasCode();
      (6)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);
      (7)生成字符串表示法的toString()方法,如obj.toString().

      由于八个包装类的使用比较类似,下面以最常用的Integer类为例子介绍包装类的实际使用。
1、实现int和Integer类之间的转换
      在实际转换时,使用Integer类的构造方法和Integer类内部的intValue方法实现这些类型之间的相互转换,实现的代码如下:

int n = 10;Integer in = new Integer(100);//将int类型转换为Integer类型Integer in1 = new Integer(n);//将Integer类型的对象转换为int类型int m = in.intValue();
2、Integer类内部的常用方法
a、parseInt方法
      public static int parseInt(String s)
      该方法的作用是将数字字符串转换为int数值。在以后的界面编程中,将字符串转换为对应的int数字是一种比较常见的操作。使用示例如下:
String s = “123”;int n = Integer.parseInt(s);
      则int变量n的值是123,该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。(说明:异常的概念将在下一章进行讲述)
      另外一个parseInt方法:
      public static int parseInt(String s, int radix)

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

//将字符串”120”按照十进制转换为int,则结果为120int n = Integer.parseInt(“120”,10);//将字符串”12”按照十六进制转换为int,则结果为18int n = Integer.parseInt(“12”,16);//将字符串”ff”按照十六进制转换为int,则结果为255int n = Integer.parseInt(“ff”,16);
      这样可以实现更灵活的转换。
b、toString方法

      public static String toString(int i)

      该方法的作用是将int类型转换为对应的String类型。使用示例代码如下:
      int m = 1000;
      String s = Integer.toString(m);
      则字符串s的值是”1000”。
      另外一个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)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。使用示例代码如下:

<span style="font-family:Microsoft YaHei;">//int类型会自动转换为Integer类型int m = 12;Integer in = m;//Integer类型会自动转换为int类型int n = in;</span>

0 0