概述
可以通过自动拆装箱实现二者的转换
- 自动装箱:把基本数据类型转换为对应的包装类类型
- 自动拆箱: 把包装类类型转换为对应的基本数据类型
不同点
不同点:
- 包装类是对象,有方法和字段;
- 包装类是引用的传递,基本数据类型是值的传递
- 基本数据类型不需要new进行声明;包装类需要new进行声明
- 基本数据类型存储在栈中;包装类存在在堆中,通过对象的引用进行调用
- 基本数据类型(int的初始值是0,boolean的初始值是false);包装类的初始值是null
- 基本数据类型直接进行赋值即可;包装类一般放到集合中使用
扩展
包装类.parseXXX() ------将一个字符串转换为其对应的基本数据类型
- Integer.parseInt(),括号里面是要转换的内容,将该内容转换为int的基本类型,通过int的包装类Integer的parseInt将字符串装换为整型
- Double.parseDouble(),通过double的包装类Double的parseDouble将字符串装换为双浮点型
xxxValue():获取一个包装类的基本数据类型的值
public class demo1 {
public static void main(String[] args) {
Integer i1 = 9;
//获取包装类对象内存存储的内容
System.out.println(i1.intValue());//9
Double d = 8.9;
System.out.println(d.doubleValue());//8.9
}
}
int和String类型的相互转换
int转换为String
public class IntegerDemo {
public static void main(String[] args) {
//int --- String
int number = 100;
//方式1
String s1 = number + "";
System.out.println(s1);
//方式2
//public static String valueOf(int i)
String s2 = String.valueOf(number);
System.out.println(s2);
System.out.println("--------");
}
}
String转换为int
public class IntegerDemo {
public static void main(String[] args) {
//String --- int
String s = "100";
//方式1:String --- Integer --- int
Integer i = Integer.valueOf(s);
//public int intValue()
int x = i.intValue();
System.out.println(x);
//方式2
//public static int parseInt(String s)
int y = Integer.parseInt(s);
System.out.println(y);
}
}