后六个包装类的父类是Number
包装类和基本数据的转换:
(1)jdk5之前是手动装箱和拆箱,装箱:基本类型-->包装类型,反之,拆箱
(2)jdk5及之后版本是自动装箱和拆箱
(3)自动装箱底层调用的是valueOf方法,比如Integer.valueOf()
public class Integerr{
public static void main(String[] args) {
//手动装箱
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
//手动拆箱
int i = integer.intValue();
//自动装箱
int n2 = 100;
Integer integer2 = n2;//底层使用了Integer.valueOf(n2)
//自动拆箱
int n3 = integer2;//底层依然是intValue()方法
}
}
一道自动装箱题目:
答案:1.0
解读:三元运算符是一个整体,Double优先级高于Integer所以是1.0而不是1
包装类和String的转换:
public class WrapperToString {
public static void main(String[] args) {
Integer i = 100;
//方法1:
String str = i+"";//i不变
//方式2:
String str1 = i.toString();
String s = String.valueOf(i);
//String->包装类
String str2 = "123";
int i1 = Integer.parseInt(str2);//使用了自动装箱
//使用构造器
Integer integer = new Integer(str2);//构造器
}
}
Integer和Character的常用方法:
Integer的一道面试题: