包装类
什么是包装类?
基本类型数据所对应的引用数据类型 Object可统一所有数据,包装类的默认值是null。 包装类对应
基本数据类型 包装类型 byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character
public class Demo01 {
public static void main ( String[ ] args) {
int num1 = 18 ;
Integer integer1 = new Integer ( num1) ;
Integer integer2 = Integer. valueOf ( num1) ;
System. out. println ( "装箱" ) ;
System. out. println ( integer1) ;
System. out. println ( integer2) ;
Integer integer3 = new Integer ( 100 ) ;
int num2 = integer3. intValue ( ) ;
System. out. println ( "拆箱" ) ;
System. out. println ( num2) ;
int age = 30 ;
Integer integer4 = age;
System. out. println ( "自动装箱" ) ;
System. out. println ( integer4) ;
int age2 = integer4;
System. out. println ( "自动拆箱" ) ;
System. out. println ( age2) ;
}
}
基本类型和数据转换
8种包装类提供不同类型间的转换方式:
Number父类中提供6个共性方法。 parseXXX()静态方法。 valueOf()方法 注意:需保证类型兼容,否则抛出NumberFormatException异常。
int n1 = 15 ;
String s1 = n1+ "" ;
String s2 = Integer. toString ( n1, 16 ) ;
System. out. println ( s1) ;
System. out. println ( s2) ;
String str = "150" ;
int n2 = Integer. parseInt ( str) ;
System. out. println ( n2) ;
String str2 = "true" ;
boolean b1 = Boolean. parseBoolean ( str2) ;
System. out. println ( b1) ;
整数缓冲区
java预先创建了256个常用的整数包装类型对象。 在实际应用中,当已创建的对象进行复用。
public class Demo02 {
public static void main ( String[ ] args) {
Integer integer1 = new Integer ( 100 ) ;
Integer integer2 = new Integer ( 100 ) ;
System. out. println ( integer1== integer2) ;
Integer integer3 = Integer. valueOf ( 100 ) ;
Integer integer4 = Integer. valueOf ( 100 ) ;
System. out. println ( integer3== integer4) ;
Integer integer5 = Integer. valueOf ( 200 ) ;
Integer integer6 = Integer. valueOf ( 200 ) ;
System. out. println ( integer5== integer6) ;
}
}