包装类类型
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。
所有包装类(如:Integer,Long,Byte,Double,Float,Short)都是抽象类Number的子类。
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
装箱与拆包
装箱就是把基本类型转为包装类对象,拆箱就是把包装类还原为基本类型。
从JDk1.5开始,实现了自动装箱,自动拆箱。也就是基本类型和包装类自动转换。
如直接把int类型的整数赋值给包装类,可以实现自动装箱;进行数学运算时,包装类会自动拆箱为基本类型再计算。
手动转换可使用以下方法:
基本数据类型 | 包装类 | 基本类型转包装类 | 包装类转基本类型 |
---|---|---|---|
byte | Byte | Byte.valueOf(byte) | byteInstance.byteValue() |
short | Short | Short.valueOf(short) | shortInstance.shortValue() |
int | Integer | Integer.valueOf(int) | integerInstance.intValue() |
long | Long | Long.valueOf(long) | longInstance.longValue() |
float | Float | Float.valueOf(float) | floatInstance.floatValue() |
double | Double | Double.valueOf(double) | doubleInstance.doubleValue() |
char | Character | Character.valueOf(char) | charInstance.charValue() |
boolean | Boolean | Boolean.valueOf(booleann) | booleanInstance.booleanValue() |
基本类型与字符串相互转换
1.基本类型转字符串
方法1:基本数据 + “”
方法2:包装类的静态方法 static String toString(int i),返回一个标识指定整数的String类型
方法3:使用String类的静态方法:static String valueOf(int i)
2.字符串转基本数据类型
使用包装类的静态方法parseXX(字符串)
示例:
package base17_wrapper_class;
public class StringParse {
public static void main(String[] args) {
// 基本类型转字符串
String s1 = 66 + "";
System.out.println(s1 + 100); // 66100
String s2 = Integer.toString(66);
System.out.println(s2 + 100); // 66100
String s3 = String.valueOf(66);
System.out.println(s3 + 100);
// 字符串转基本类型
int i = Integer.parseInt(s1);
System.out.println(i + 1); // 67
}
}
Number类常用方法
序号 | 方法与描述 |
---|---|
1 | xxxValue() 将 Number 对象转换为xxx数据类型的值并返回。 |
2 | compareTo() 将Number对象与参数比较。 |
3 | equals() 判断Number对象是否与参数相等。 |
4 | valueOf() 返回一个 Number 对象指定的内置数据类型 |
5 | toString() 以字符串形式返回值。 |
6 | parseInt() 将字符串解析为int类型。 |
7 | abs() 返回参数的绝对值。 |
8 | ceil() 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。 |
9 | floor() 返回小于等于(<=)给定参数的最大整数 。 |
10 | rint() 返回与参数最接近的整数。返回类型为double。 |
11 | round() 它表示四舍五入。 |
12 | min() 返回两个参数中的最小值。 |
13 | max() 返回两个参数中的最大值。 |
14 | exp() 返回自然数底数e的参数次方。 |
15 | log() 返回参数的自然数底数的对数值。 |
16 | pow() 返回第一个参数的第二个参数次方。 |
17 | sqrt() 求参数的算术平方根。 |
18 | sin() 求指定double类型参数的正弦值。 |
19 | cos() 求指定double类型参数的余弦值。 |
20 | tan() 求指定double类型参数的正切值。 |
21 | asin() 求指定double类型参数的反正弦值。 |
22 | acos() 求指定double类型参数的反余弦值。 |
23 | atan() 求指定double类型参数的反正切值。 |
24 | atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。 |
25 | toDegrees() 将参数转化为角度。 |
26 | toRadians() 将角度转换为弧度。 |
27 | random() 返回一个随机数。 |