JAVA-包装类
包装类Wapper
>包装类的分类
1)针对八种基本数据类型相应的引用类型一包装类
2)有了类的特点,就可以调用类中的方法。
>包装类和基本数据的转换
1)jdk5 前的手动装箱和拆箱方式,装箱:基本类型->包装类型,反之,拆箱
2)jdk5 以后(含jdk5)的自动装箱和拆箱方式
3)自动装箱底层调用的是valueOf方法,比如Integer.valueOf()
public class Integer01 {
public static void main(String[] args){
//演示 int<-->Integer 的装箱和拆箱
//jdk5前是手动装箱和拆箱
//手动装箱 int->Integer
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
//手动拆箱 Integer->int
int i = integer.intValue();
//jdk5后,就可以自动装箱和自动拆箱
int n2 = 200;
//自动装箱 int->Integer
Integer integer2 = n2; //底层使用的是 Integer.valueOf(n2)
//自动拆箱 Integer->int
int n3 = integer2; //底层使用的是 Integer.intValue()
}
}
扩展:
Object obj1 = true? new Integer(1) : new Double(2,0); //三元运算符【是一个整体】
System.out.println(obj1); // 1.0注意!三元运算符为一个整体,这里面精度最高的是Double,所以其会提升优先级,输出的是1.0,而非1
而如此图,此时分别计算,不会提升优先级,输出1
>包装类型和String类型的相互转换
//案例演示:以Integer和String转换为例
public class WrapperVSString {
public static void main(String[] args){
//包装类(Integer)->String
Integer i =100; //自动装箱
//方式1
String str1 = i + "";
//方式2
String str2 = i.toString();
//方式3
String str3 = String.valueOf(i);
//String ->包装类(Integer)
String str4 = "12345";
Integer i2 = Integer.parseInt(str4); //使用到自动装箱
Integer i3 = new Integer(str4); //构造器
}
}
>Integer类和Character类的常用方法