23.1.包装类的分类
- 针对八种基本数据类型相应的引用类型-包装类
- 有了类的特点,就可以调用类中的方法
基本数据类型 | 包装类 |
---|
boolean | Boolean | char | Character | byte | Byte | short | Short | int | Integer | long | Long | float | Float | double | Double |
23.2.包装类和基本数据的转换
- 装箱:基本数据类型 -> 包装类型
- 拆箱:包装类型 -> 基本数据类型
jdk5前是手动装箱和拆箱
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
int i = integer.intValue();
jdk5后就可以自动装箱和自动拆箱
int n2 = 200;
Integer interger = n2;
int n3 = integer;
Integer i = 100;
String str1 = i + "";
String str2 = i.toString();
String str3 = String.valueOf(i);
String str4 = "12345";
Integer i2 = Integer.parseInt(str4);
Integer i3 = new Integer(str4);
23.3.案例研究:
Object obj = true? new Integer(1) : new Double(2.0);
System.out.println(obj);
输出为 1.0 三元运算符是一个整体,所以精度提升到double类型
Integer i = new Integer(1);
Integer j = new Integer(2);
System.out.println(i == j);
输出为 false 都 new 了一个新的空间
Integer m = 1;
Integer n = 1;
System.out.println(m == n);
Integer x = 128;
Integer y = 128;
System.out.println(x == y);
输出为 true false 根据源码知道 Integer 设定的范围为 -128~127 ,在这个范围内直接返回,否则就要 new Integer(xx)
Integer m = 127;
int n = 127;
System.out.println(m == n);
Integer i = 128;
int j = 128;
System.out.println(i == j);
输出为 true true 只要有基本数据类型,判断的就是值是否相等
|