引言:java中一切皆对象,所以就产生了包装类
分类:对象型包装类(Object的直接子类):char(Charact),boolean(Boolean);
数值型包装类(Number的直接子类):byte(Byte),int(Integer),float(Float),double(Double),long(Long);
自动装箱与拆箱:
public class TestDemo {
public static void main(String args[]){
Integer obj = 10;//自动装箱
int temp = obj; //自动拆箱
obj++;//包装类直接进行数学计算
System.out.println(temp*obj);
//输出:110
}
}
数据类型转换:
A.将字符串转换成基本数据类型:
1.将字符串变为int型数据:字符串一定要由数字组成
public class TestDemo {
public static void main(String args[]){
String str = "123";//字符串
int temp = Integer.parseInt(str);
System.out.println(temp*2);//输出:246
}
}
2.将字符串变为double类型:
public class TestDemo {
public static void main(String args[]){
String str = "12.3";//字符串
double temp = Double.parseDouble(str);
System.out.println(temp*2);//输出:24.6
}
}
3.将字符串变为boolean类型:如果字符串不是true或者flase,统一看作flase
public class TestDemo {
public static void main(String args[]){
String str = "true";//字符串
boolean flag = Boolean.parseBoolean(str);
//输出:yes
if(flag){
System.out.println("Yes");
}
else{
System.out.println("no");
}
}
}
public class TestDemo {
public static void main(String args[]){
String str = "adfaff";//字符串
boolean flag = Boolean.parseBoolean(str);
//输出:no
if(flag){
System.out.println("Yes");
}
else{
System.out.println("no");
}
}
}
B.将基本类型变为字符串:
1.任何数据类型与字符串使用了“+”操作:
public class TestDemo {
public static void main(String args[]){
int num = 100;
String str = num + "";
System.out.println(str.replaceAll("0","9"));
//输出:199
}
}
这样的操作虽然可以简单完成,但是有垃圾生成
2.public static void valueOf(基本数据类型 变量)
public class TestDemo {
public static void main(String args[]){
int num = 100;
String str = String.valueOf(num);
System.out.println(str.replaceAll("0","9"));
//输出:199
}
}
这样的转换不会产生垃圾