1.概述
由于java是一门面向对象的语言,也为了支持基本类型的面向对象编程,同时,基本类型也是必不可少的一部分(其实java的各个方法内部实现步骤也是面向过程的)。
这时为了解决这个矛盾,一种新的类产生了——基本类型包装类 ,在方法中我们使用基本类型,当需要面向对象编程时,我们就使用包装类,编译器会把基本类型自动装箱成包装类型。
2.一些概念
2.1 包装类
对于基本类型,java.lang包中有一系列与之对应的类,称为基本类型的包装类。
对应关系: byte 《==》Byte short 《==》Short int 《==》Integer long 《==》 Long char 《==》 Character double《==》Double float《==》Float boolean《==》Boolean
2.2 自动装箱
当我们声明一个包装类对象的时候,可以直接为其赋一个值,就像使用变量一样使用它,这时编译器会自动将该值转换成对应的包装对象,称为自动装箱。
Integer anvo = 5; //自动装箱
2.3 自动拆箱
当我们需要一个值的时候,由于包装类是一个对象,不能直接赋值给基本变量,但是包装类却可以直接赋值,编译器会自动取出对象的基本类型值,称为自动拆箱。
Integer integ = new Integer(5); int i = integ; // i ==5
3. 包装类中常用的属性和方法
由于所有的包装类都大同小异,所以这里使用Integer为例子。
3.1 最大与最小值
每一个包装类中都定义了两个常量用来表示当前类型的最大值与最小值(Boolean除外)
public class TestPack { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); System.out.println(Integer.MIN_VALUE); } }
//2147483647
//-2147483648
3.2 valueOf 方法
该方法接受一个对象基本类型或者一个String 或者一个String和一个int
3.2.1 valoeOf(int i)
该方法接受一个基本类型的值,返回装箱之后的包装类对象
3.2.2 valueOf(String)
该方法接受一个字符串,返回该字符串转换后的对应的基本类型装箱之后的包装类对象
3.2.3 valueOf(String,int)
该方法接受一个字符串和一个整型,字符串是待转换的数字,整型是该字符串的进制形式。返回转换之后的基本类型的十进制对应的装箱之后的包装对象。
System.out.println(Integer.valueOf("1101", 2)); //13
3.3 parseXXX方法(parseInt)
该方法接受一个字符串或者一个字符串和一个整型 ,当接受一个字符串时,返回该字符串对应的int值 ;当接受一个字符串和一个int时,返回该字符串以相应进制转换之后的int值
System.out.println(Integer.parseInt("1111", 2)); //15
注意valueOf方法返回的是一个包装类对象 而parsexxx返回的是一个基本类型。
3.4 其他方法
该类中还有很多其他的方法,例如比大小,求和,基本类型转换等。具体见下图