package at1014;
import org.junit.Test;
//基本数据类型 包装类 String 之间的转换
public class TypeConversion {
// 基本数据类型转化为包装类-->使用包装类的构造器new(Byte Short Integer Long Float Double Character
// Boolean)
@Test
public void basicToWrapper() {
int a1 = 10;
Integer b1 = new Integer(a1);
System.out.println(b1.toString());// 10 包装类中重写了toString(),也是打印内容,而不是地址
String a2 = "1234";
Integer b2 = new Integer(a2);
System.out.println(b2.toString());// 1234
}
// 包装类转化为基本数据类型-->调用包装类的xxxValue()方法(charValue(),intValue(),doubleValue()....)
// 包装类的对象不能直接进行加减乘除,转化为基本数据类型就可以了
@Test
public void wrapperToBasic() {
Character c1 = new Character('A');
char c2 = c1.charValue();
char c3 = ++c2; // 'B'
System.out.println(c3);
}
// JDK5.0加入了新特性:自动装箱与自动拆箱(:基本数据类型与包装类之间直接赋值即可)
// 自动装箱:替代之前需要通过调用包装类的构造器才能转换成包装类
// 自动拆箱:替代之前需要通过xxxValue()才能转换成基本数据类型
@Test
public void autoConversion() {
int a1 = 10;
Integer a2 = a1; // 自动装箱
System.out.println(a2.toString());
Double d1 = 10.0; // 自动装箱
System.out.println(d1.toString());
double d2 = d1; // 自动拆箱
d2 += 12.0;
System.out.println(d2);
}
// 基本数据类型、包装类--->String类型
@Test
public void otherToString() {
// 方式一:连接运算 + ""
String a1 = 2 + ""; // "2"
Integer a2 = 3;// 自动装箱
String a3 = a2 + "";// 3 a2自动拆箱成基本数据类型int,再和""做连接运算变成String类型
System.out.println(a1 + "," + a3);
// 方式二:调用String类的.valueOf()方法
String b1 = String.valueOf(4); // "4"
Integer b2 = 5; // 自动装箱
String b3 = String.valueOf(b2); // "5"
System.out.println(b1 + "," + b3);
// 方式三:调用包装类里的toString()方法
int c1 = 6;
Integer c2 = c1; // 自动装箱
String c3 = c2.toString();
System.out.println(c3); // "6"
}
// String类型--->基本数据类型、包装类
@Test
public void stringToOther() {
// 调用包装类的 Xxx.parseXxx()方法 (转化前提:要符合逻辑,abcd转化为int自然是不行的)
String s1 = "1234";
int a1 = Integer.parseInt(s1); // 先发生了转化(Integer),之后进行了自动拆箱(int)
a1++;
System.out.println(a1); // 1235
String s2 = "true";
boolean b2 = Boolean.parseBoolean(s2);
System.out.println(b2); // true
String s3 = "true123";
boolean b3 = Boolean.parseBoolean(s3);
System.out.println(b3); // false (.parseBoolean定义的是true则true(且不区分大小写),非true字符串则false)
}
}
Java【基本数据类型--包装类--String类型】之间的转换|自动装箱与自动拆箱
最新推荐文章于 2022-10-14 15:21:49 发布