Java常用类02:包装类
基本类型的数据都存放栈中,没有属性和方法能调用,而将基本类型转换为对应的引用类型(也称包装类型),就可以调用对应的工具类方法
包装类的出现可以让Object类统一所有数据类型
基本类型对应的包装类型
基本数据类型 | 包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
装箱和拆箱
- 装箱,基本类型转换为引用类型
- 拆箱,引用类型转换为基本类型
public class Hello {
public static void main(String[] args) {
int a = 1;
Integer A = a; //装箱
System.out.println(A.getClass()); //class java.lang.Integer
int b = A; //拆箱
}
}
基本类型和字符串的转换
注意要保证类型兼容
public class Hello {
public static void main(String[] args) {
int a = 15;
//工具类方法Integer.toString()将基本类型转换为字符串
String str = Integer.toString(a, 16); //可以指定要转换的进制
System.out.println(str);
//Integer.parseInt()方法将字符串转换为整数,其他数值类型类似
String s = "150";
int n = Integer.parseInt(s);
System.out.println(n);
//Character.toUpperCase()方法将字符转换成大写,同理toLowerCase()转换成小写
char ch = 'a';
System.out.println(Character.toUpperCase(ch));
//Boolean.parseBoolean(a)方法中,除非a == "true",否则结果都是false
String s1 = "tru";
Boolean c = Boolean.parseBoolean(s1);
System.out.println(c); //false
}
}
整数缓冲区
Java预先创建了256个整数包装类型对象(-128~127),使用这些对象都是复用
public class Hello {
public static void main(String[] args) {
Integer a = new Integer(100);
Integer b = new Integer(100);
System.out.println(a == b); //false,new的对象肯定是不相同的
Integer c = 100;
Integer d = 100;
System.out.println(c == d); //true,在缓冲区范围内的整数都是同一个引用对象
Integer e = 200;
Integer f = 200;
System.out.println(e == f); //false
}
}