基本概念
java中存在基本数据类型和引用数据类型两种数据类型,
基本数据类型包括8种,分别为byte,short,int,long,float,double,char,boolean
而包装类,就是将基本数据类型用一个类进行一次包装,使得其可以按照引用数据类型就行访问
基本数据类型和包装类型对照表
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
装箱和拆箱
装箱:由基本数据类型向包装类型转换
拆箱:由包装类型向基本数据类型转换
//装箱操作
//方法一:通过valueOf()方法
Integer a = Integer.valueOf(3);
//方法二:通过new 包装类()的方法
Integer a = new Integer(3);
//拆箱操作
//方法:
Integer a = Integer.valueOf(3)
int b =a.intVlaue() //将包装类拆箱成了基本类型
int c = a.doubleValue() //也可以,底数据类型向高数据类型转换是没问题的,但一般不这样
自动装箱和拆箱
jdk1.5以后,装箱和拆箱都是自动完成的,但是有的时候还是需要我们手动进行拆装箱
包装类型的比较相等问题
Integer a = new Integer(1);
Integer b = new Integer(2);
System.out.println(a==b); //false,因为==比的是地址
System.out.println(a.equals(b)); //true,因为.equals()比较的是数值
Integer a = 3;
Integer b=3;
System.out.println(a==b); //true,因为地址一样
字符串和基本数据类型的转换
/**
字符串转基本数据类型示例
*/
Integer.valueOf("123")
Integer.parseInt("123")
/**
基本数据类型转字符串
*/
int a = 10;
String s1 = a+"";
String s2 = String.valueOf(a);
string s3 = Integer.valueOf(a).toString();
//可知,转字符串之前要是引用数据类型
使用场景问题:
泛型,所有的java泛型只能是引用数据类型,所以可以使用泛型