java学习之路 之 Java常用类-包装类(Wrapper)及练习题

时间:2022-10-06 15:38:25
针对八种基本定义相应的引用类型—包装类(封装类)

有了类的特点,就可以调用类中的方法。

java学习之路 之 Java常用类-包装类(Wrapper)及练习题

基本数据类型包装成包装类的实例    ---装箱
通过包装类的构造器实现:
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);

}
}