Java包装类
由于基本类型比如int,char不具有支持面向对象的编程机制,比如所有引用类型的变量都继承与Object,都可以当
成Object使用,如果有个方法需要Object类型的参数,但是实际需要的值却是2,3等数值,这就比较难处理
所以Java提供了8种包装类
byte-》Byte
int->Integer等等
同时Java提供了自动装箱(把基本类型直接赋值给对应的包装类),和自动拆箱(把包装类直接赋值给对应的基本类)功能。
例如
public class AutoBoxingUnBoxing { public static void main(String[] args) { //自动装箱,把int赋值给包装类 Integer intObj=5; //自动装箱,把boolean赋值给Objcet Object boolObj=true; //自动拆箱,把Integer对象赋值给int对象 int it=intObj; if(boolObj instanceof Boolean) { boolean b=(boolean) boolObj; System.out.print(b); } } }
包装类还可以实现基本类型变量与字符串之间的转换,将字符串类型的值转换成基本类型的值有两种方法
1.利用包装类提供的parseXxx(String s)静态方法(除了Character)
2.利用包装类提供的Xxx(String s)构造器
例如
public class StringTest { public static void main(String[] args) { String intStr="123"; int i1=Integer.parseInt(intStr); int i2=new Integer(intStr); String floStr="4.56"; float f1=Float.parseFloat(floStr); float f2=new Float(floStr); String dbStr=String.valueOf(4.33); } }
如果需要将基本类型更方便的转换成字符串,还可以用""进行连接计算
String str=5+"";