- 根据八种基本数据类型定义相应的引用类型-包装类(封装类)
- 有了类的特点,就可以调用类中的方法
基本数据类型 | 包装类 |
---|---|
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer |
long | Long |
char | Character |
float | Float |
double | Double |
对于Integer包装类来说,新建对象的时候,参数可以写数字,也可以用字符串的形式,但是字符串必须是数字,不能夹杂其他字符,否则会报异常
import org.junit.Test;
public class TestWrapper {
@Test
public void test() {
Integer i = new Integer(1);
Integer i2 = new Integer("2");
int i4 = 3;
Integer i3 = new Integer(i4);
System.out.println("i = " + i + ", i2 = " + i2 + ", i3 = " + i3);
//java.lang.NumberFormatException
Integer i5 = new Integer("12abc");
System.out.println(i5);
}
}
对于 Float包装类,下面四种方式都可以
@Test
public void test() {
Float f = new Float("12.3");
Float f2 = new Float("12.3F");
Float f3 = new Float(12.3);
Float f4 = new Float(12.3F);
System.out.println(f+" " + f2 + " " + f3 + " " + f4);
}
对于Boolean类,参数可以直接为true或false,也可以写成字符串的形式,如果字符串不是“true”,返回结果统统为false
注:字符串中的字符与大小写无关,只要是“true”,返回结果就为真
@Test
public void test() {
Boolean b1 = new Boolean(true);//ture
Boolean b2 = new Boolean(false);//false
Boolean b3 = new Boolean("true");//true
Boolean b4 = new Boolean("TrUe");//true !!!与大小写无关
Boolean b5 = new Boolean("false");//false
Boolean b6 = new Boolean("TrueTrue");//fasle,不是“true”字符串
System.out.println(b1 + " " + b2 + " " + b3 + " " + b4 + " " + b5 + " " + b6);
}
基本数据类型、包装类和String类的相互转换
以上介绍了基本数据类型向包装类的转换,下面将介绍包装类向基本数据类型的转换
包装类->基本数据类型的转换:调用包装类Xxx的Xxxvalue()方法。例如下:
int i = j.intValue();
float f = g.floatValue();
但是,JDK 5.0以后,实现了自动装箱和拆箱
Integer i = 10;//自动装箱
Boolean b = false;//自动装箱
int j = i;//自动拆箱
基本数据类型、包装类与String类之间的转换
基本数据类型、包装类——>String类:调用String类的静态的重载的ValueOf(Xxx x)方法
@Test
public void test() {
int i = 10;
String s1 = String.valueOf(i);//方法一
String s2 = i + "";//方法二
Integer i2 = i;
String s3 = String.valueOf(i2);
String s4 = String.valueOf(10);
String s5 = Boolean.valueOf(true);
System.out.println(s1);//10
System.out.println(s2);//10
System.out.println(s3);//10
System.out.println(s4);//10
System.out.println(s5);//true
}
String类——>基本数据类型、包装类:调用包装类的parseXxx(String str)方法
@Test
public void test() {
String s1 = "10";
int i1 = Integer.parseInt(s1);//String型转换成int型
String s2 = "true";
boolean b1 = Boolean.parseBoolean(s2);//String型转换成boolean型
}