第15章 包装类
2019-04-11 本文已影响216人
yangsg
1. 包装类的主要作用
- 将基本数据类型变成对应的引用数据类型,在某些不能使用基本数据类型的场合下就可以使用包装类完成功能,比如在“泛型”场合
- 包装类中提供了它对应的基本数据类型与String类型进行相互转换的方法
包装类主要的对应关系如下
基本数据类型 | 包装类 |
---|---|
byte | java.lang.Byte |
short | java.lang.Short |
int | java.lang.Integer |
long | java.lang.Long |
float | java.lang.Float |
double | java.lang.Double |
char | java.lang.Character |
boolean | java.lang.Boolean |
2.包装类的用法
2.1 构造方法
标准写法:
int x = 34;
Integer i = new Integer(x);
JDK1.5之后提供了“自动装箱”
Integer i = 34;
2.2 包装类对象转换成对应的基本数据类型
标准写法:
Integer i = 34;
int x = i.intValue();
JDK1.5之后提供了“自动拆箱”
Integer i = 34;
int x = i;
2.3 基本数据类型与String类型的转换
2.3.1 基本数据类型转String
- 利用包装类的toString方法
int i = 34;
Integer x = i;
String s = x.toString();
- 利用字符串拼接
任何类型与字符串类型进行+操作时,都会变成字符串
将整数变量+空字符串(""),得到对应的字符串结果
int i = 34;
String s = i+"";
2.3.2 String转基本数据类型
利用包装类中的parseXXX方法
int对应Integer
double对应Double
- static parseInt(String str)
返回值:int
在Integer类中 - static parseDouble(String str)
返回值:double
在Double类中
String s1 = "23";
String s2 = "3.14";
int i = Integer.parseInt(s1);
double d = Double.parseDouble(s2);
System.out.println(i);
System.out.println(d);
可能在转换的过程中发生 java.lang.NumberFormatException异常,发生原因是字符串中内容本质上不是数字
String s1 = "xyz";//内容不是整数
int i = Integer.parseInt(s1);
会在转换时发生异常