含义:
- 基本数据类型的应用类型
- 八大基本数据类型都有对应的应用数据类型
创建对象
-
直接赋值
Integer u =1;
-
构造器
Integer t = new Integer(20);
Integer t1 = new Integer('a');
Integer t2 = new Integer("123");
构造器可以可以中可以放int、char、或者String的数字
-
直接赋值和构造器的区别
直接赋值本质上也是调用的构造器的方法来创建对象。但是java内部实际上为我们内置了-128到127的Integer对象,所以我们如果直接赋值的是-128到127以内的数字,那么java不会创建新的对象,而是调用实现创建好的,这种设计模式就是享元设计模式。 那么-128到127以外的对象,java会调用构造器帮我们创建。
如果构造器new一个在-128到127以内的对象,并不是调用内置的。
和基本数据类型的转换
含义:基本数据类型转引用数据类型叫做装箱;引用数据类型转基本数据类型叫做拆箱。
装箱:valueOf
int a = 1;
//手动装箱
Integer b = a.valueOf();
//自动装箱---本质上还是调用valueOf()
Integer c = a;
拆箱:intValue
Integer a = 1;
//手动
int b = a.intValue();
//自动
int c = a;
好用的方法
大部分情况下,Integer可以直接当作int来使用,因为编译的时候会自动装箱和拆箱
System.out.println(Integer.parseInt("111"));//将字符串变成int类型
String str = Integer.toBinaryString(12);//将数字转为二进制String
String str2 = Integer.toHexString(12);//将数字转为十六进制String
Integer x = 110;
Integer y = 120;
System.out.println(x>y);//为什么引用数据类型能转换。。。因为编译的时候做了自动拆箱
System.out.println(x.compareTo(y));//判断大小---三目运算符
System.out.println(Integer.min(x,y));
System.out.println(Integer.max(x,y));
//Integer类型的最大值,最小值,多少位
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.SIZE);