1. 封装类可以提供两方面的功能:
将基本数据类型封装后当作对象来进行操作;
为基本数据类型提供各种转换功能。
2. 封装类的构造器
例如: Boolean(String s) 或 Boolean(Boolean value)
Byte(String s) 或 Byte(byte value)
Character(Char value)
Interger(String s)或Integer(int value)
3. 基本数据类型转换成字符串:
无参的非静态方法: toString()
例: int x = 10; //定义一个int型的基本数据
Integer i = new Integer(x); // 将基本数据封装为Integer对象
String s = i.toString(); //调用toString()方法进行转换
Double d = new Double(12.56); //直接创建一个封装类对象
String s = d.toString(); //调用封装类对象的toString()方法进行转换
说明:对象引用之所以可以直接使用”System.out.println()”语句打印,是因为用“System.out.println()”语句打印对象引用时,会自动调用引用所指向对象的“toString()”方法获取对象的字符串表示,另外,若引用为null则打印null字符串。
有参的静态方法: toString(xxx) //xxx表示基本数据类型的值
toString(xxx,sss) //转换为指定进制sss对应的字符串
toBinaryString(xxx) //转换为二进制对应的字符串
toOctalString(xxx) //转换为八进制对应的字符串
toHexString(xxx) //转换为十六进制对应的字符串
例:boolean b = False;
String s = Boolean.toString(b);
int i = 20;
String s = Integer.toString(20);
String s = Integer.toBinaryString(20);
4. 字符串转换为基本数据类型
非静态转换方法xxxValue() ,其中xxx为基本数据类型名。
使用方法: 先使用对应的构造器创建封装类对象,再用xxxValue系列方法提取值。
例:String s = “56”;
Integer integer = new Integer(s);
int i = integer.intValue();
double d = integer.doubleValue();
String s = “False”;
Boolean b = new Boolean(s);
boolean a = b.booleanValue();
静态转换方法parseXxx(String s)
parseXxx(String s,int i)
例: boolean b = Boolean.paresBoolean(“false”);
int i = Integer.parseInt(“ 20” );
int i = Integer.parseInt(“ 100101” ,2);
double d = Double.parseDouble(“ 35.2” );
创建封装类的时候,除了可以使用new操作符调用构造器外,还可以使用静态工厂方法valueOf(),该方法将返回对应的封装类对象。
静态工厂方法 valueOf(xxx) // xxx为基本数据类型的值
valueOf(String s)
valueOf(String s ,int i) // i代表数值的进制
例: Double d1 = Double.valueOf(35.8); //用基本数据类型创建对象
Double d2 = Double.valueOf(“ 35.8” ); //用字符串创建对象
5. 自动打包
自JavaSE 5.0之后,可以直接将基本数据类型的值当作封装类对象使用,系统会自动进行封装,但不是说基本数据类型就是对象了。
6. 自动解包
自JavaSE 5.0之后,可以直接将封装器对象赋值给基本数据类型的变量,但不是说封装类对象能直接当作基本数据类型使用,而是说编译的时候,编译器帮读者把解包的代码给添上了。