Java 包装类详解

简介

  • Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class),有些地方也翻译为外覆类或数据类型类。
  • 包装类均位于Java.lang包,包装类和基本数据类型的对应关系如下表所示:
基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double
  • 对于包装类说,这些类的用途主要包含两种:
    • 作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。
    • 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。
  • 下面使用Integer类来介绍包装类的基本用法。

简单使用:

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

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

1
2
3
4
5
6
int n = 10;
Integer in = new Integer(100);
//将int类型转换为Integer类型
Integer in1 = new Integer(n);
//将Integer类型的对象转换为int类型
int m = in.intValue();
  • 2、其他常用转化方法如下:
返回值 方法名 解释
byte byteValue() 将Integer转为byte类型
double doubleValue() 转为double类型
float floatValue() 转为float类型
  • 3、与字符串相关的方法:
    • parseInt方法:
1
public static int parseInt(String s)

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

1
2
String s = “123”;
int n = Integer.parseInt(s);

  该方法实际上实现了字符串和int之间的转换,如果字符串都包含的不是都是数字字符,则程序执行将出现异常。

另外一个parseInt方法:

1
public static int parseInt(String s, int radix)

  实现将字符串按照参数radix指定的进制转换为int。

  • toString方法:
1
public static String toString(int i)

  该方法的作用是将int类型转换为对应的String类型。

装箱和拆箱

  • JDK自从1.5(5.0)版本以后,就引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,这将大大方便程序员的代码书写。
  • 代码示例:
1
2
3
4
5
//int类型会自动转换为Integer类型
int m = 12;
Integer in = m;
//Integer类型会自动转换为int类型
int n = in;