有了类的特点,就可以调用类中的方法。
基本数据类型包装成包装类的实例 ---装箱
通过包装类的构造器实现:
Integer t1 = new Integer(i); //手工装箱
Integer t2 = 500; //自动装箱
还可以通过字符串参数构造包装类对象:
Float f = new Float(“4.56”);
Long l = new Long(“asdf”); //NumberFormatException
获得包装类对象中包装的基本类型变量 ---拆箱
调用包装类的.xxxValue()方法:
boolean b = bObj.booleanValue();//手动拆箱
boolean n = bObj;//自动拆箱
JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配。
字符串转换成基本数据类型
通过包装类的构造器实现:
int i = new Integer(“12”);
通过包装类的parseXxx(String s)静态方法:
Float f = Float.parseFloat(“12.1”);
基本数据类型转换成字符串
调用字符串重载的valueOf()方法:
String fstr = String.valueOf(2.34f);
更直接的方式:
String intStr = 5 + “”
包装类用法举例:
int i = 500;
Integer t = new Integer(i);
装箱:包装类使得一个基本数据类型的数据变成了类。
有了类的特点,可以调用类中的方法。
String s = t.toString(); // s = “500“,t是类,有toString方法
String s1 = Integer.toString(314); // s1= “314“ 将数字转换成字符串。
String s2=“4.56”;
double ds=Double.parseDouble(s2); //将字符串转换成数字
拆箱:将数字包装类中内容变为基本数据类型。
int j = t.intValue();// j = 500,intValue取出包装类中的数据
包装类在实际开发中用的最多的在于字符串变为基本数据类型。
String str1 = "30" ;
String str2 = "30.3" ;
int x = Integer.parseInt(str1) ;// 将字符串变为int型
float f = Float.parseFloat(str2) ; // 将字符串变为int型
import org.junit.Test;
public class WrapperTest {
@Test
public void exer1() {
// 声明两个字符串, 其中的内容是两个整数, 把第一个先转成基本数据类型,再装箱 , 第二个直接装箱
// 分别使用手工拆箱求和, 自动拆箱求积, 并打印输出
String string1 = "300";
String string2 = "50";
int num1 = Integer.parseInt(string1);
Integer obj1 = new Integer(num1);
Integer obj2 = Integer.decode(string2);
System.out.println(obj1.intValue() + obj2.intValue());
System.out.println(obj1 * obj2);
}
@Test
public void test1() {
Integer obj1 = new Integer(100); // 手工装箱
Integer obj2 = 200; // 自动装箱 new Integer(200);
System.out.println(obj1);
System.out.println(obj2);
Object obj = 300; // Object obj = new Integer(300);
int num1 = obj1.intValue(); // 手工拆箱
int num2 = obj2; // 自动拆箱
System.out.println(num1 * num2);
System.out.println(obj1 * obj2);
// 手工装箱
boolean b1 = true;
Boolean obj3 = new Boolean(b1);
// 手工拆箱
boolean b2 = obj3.booleanValue();
Double obj4 = 3.14;
obj4 = obj4 * 20; // obj4 = new Double(obj4.doubleValue() * 20);
System.out.println(obj4);
String string = "2343";
int value = Integer.parseInt(string);
System.out.println(value);
string = "false";
boolean b3 = Boolean.parseBoolean(string);
System.out.println(b3);
string = ".334";
double d1 = Double.parseDouble(string);
System.out.println(d1);
}
}