目录
一、包装类概述
(1)Java语言是面向对象的,但是Java中的基本数据类型却不是面向对象的,这在实际开发中存在很多的不便。为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类,称为包装类。
(2)包装类均为java.lang包中,包装类和基本数据类型的对应关系如下表所示。
基本数据类型 | 包装类 |
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
二、包装类和基本数据类型转换
(1)所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例;其中第二个构造方法创建除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
public Type(type value)
public Type(String value)
byte num=10;
Byte result1=new Byte(num);
Byte result2= new Byte("123");
System.out.println(result2);
(2)Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false。
Boolean result4=new Boolean("TrUe");
System.out.println(result4);
Boolean result5=new Boolean("rue");
System.out.println(result5);
运行结果
三、包装类的常用方法
(1)toString():以字符串形式返回包装对象表示的基本类型数据(基本类型->字符串);
String result1= Boolean.toString(true);
System.out.println(result1);
String result2=Integer.toString(123);
System.out.println(result2);
运行结果
(2)parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)(字符串->基本类型)。
long result1=Long.parseLong("123");
System.out.println(result1);
boolean result2=Boolean.parseBoolean("false");
System.out.println(result2);
运行结果
(3)valueOf()所有包装类都有如下方法(基本类型->包装类)
valueOf(基本数据类型)
Long result4= Long.valueOf(123);
System.out.println(result4);
valueOf(字符串)
Integer int1=Integer.valueOf("123");
System.out.println(int1);
四、基本类型和包装类的自动转换
(1)在Java SE 5.0版本之后程序员不需要编码实现基本数据类型和包装类之间的转换,编译器会自动完成。
(2)装箱:基本类型转换为包装的对象
int num=100;
Integer resul1=num;
运行结果
(3) 拆箱:将包装类直接复制给基本数据类型
Boolean bool= new Boolean("sqrt");
boolean result2=bool;
System.out.println(result2);
Long long1=new Long("123");
long result3=long1;
System.out.println(result3);
运行结果
(4)虽然Java平台提供了基本数据类型和包装类的自动转换功能。程序员在程序中也不能只使用对象,而抛弃了基本数据类型。
(5)包装对象只有在基本数据类型需要用对象表示时才使用,包装类并不是用来取代基本类型。