基本数据类型所对应的引用数据类型。
Object可统一所有数据,包装类的默认值是null
基本数据类型 | 包装类型 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
基本类型–>对象
对象–>基本类型
//包装类 public class BagClass { public static void main(String[] args) { //jdk1.5之前用法 int num1 = 10; //装箱 Integer integer1 = new Integer(num1); Integer integer2 = Integer.valueOf(num1); //拆箱 Integer integer3 = new Integer(20); int num2 = integer3.intValue(); //jdk1.5之后,提供自动装箱与拆箱 - 实际代码与1.5之前代码相同,只是优化了代码 int num3 = 30; Integer integer4 = num2;//自动装箱 int num4 = integer4;//自动拆箱 } }
int n1 = 1; //方法一:直接用“+”号连接 String str1 = n1 + ""; //方法二:用Integer中的toString方法 String str2 = Integer.toString(n1); String str3 = Integer.toString(n1, 16);//将数据以16进制形式转换为字符串(重载方法) //……
String str = "1234"; //使用Integer.parseXXX(); - XXX类型 int n1 = Integer.parseInt(str);
boolean字符串形式转换成基本来兴,“true”–>true;“非true”—>false
String str = "true"; boolean b1 = Boolean.parseBoolean(str);
public class IntegerBuffer { public static void main(String[] args) { //面试题 //integer1与integer2是不同的对象,在堆中的地址不同,所以会输出false Integer integer1 = new Integer(100); Integer integer2 = new Integer(100); System.out.println(integer1 == integer2); //Java预先创建了256个常用的整数包装类型对象 //integer3与integer4 - 相当于堆中的100的地址赋给integer3和4,地址相同输出true Integer integer3 = 100; Integer integer4 = 100; System.out.println(integer3 == integer4); //如果根据上面的结论,integer5和integer6应该也是true //但是,Integer在堆中仅预设了(-128)~(127),其他不在这个范围内的数值,将会以new的形式创建 Integer integer5 = 200; Integer integer6 = 200; System.out.println(integer5 == integer6); } }
结果为:
false
true
false
知识点整理自bilibili(Java学习营)视频链接