包装类
- 针对八种数据类型相应的引用类型-包装类
基本数据类型 | 包装类 |
---|---|
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwasXL95-1621664986967)(C:\Users\OS\AppData\Roaming\Typora\typora-user-images\image-20210522085752690.png)]
-
常用方法
public static void main(String[] args) { // 手动装箱 int n1 = 100; Integer integer = new Integer(n1); Integer integer1 = Integer.valueOf(n1); // 手动拆箱 int i = integer.intValue(); // 自动装箱 底层任然是Integer.valueOf(n1)方法 int n2 = 100; Integer integer2 = n2; // 自动拆箱 底层任然是integer.intValue();方法 int n3 = integer2; // 包装类型和string类型的转换 Integer n = 100; String str1 = n + ""; String str2 = n.toString(); String str3 = String.valueOf(n); //String->包装类 String str4 = "12345"; int anInt = Integer.parseInt(str4); Integer integer3 = new Integer(str4); //Integer 和 Character的常用方法 // 最小值 int minValue = Integer.MIN_VALUE; // 最大值 int maxValue = Integer.MAX_VALUE; // 判断是不是数字 char a ='A'; Character.isDigit(a); // 判断是不是字母 Character.isLetter(a); // 判断是不是大写 Character.isUpperCase(a); // 判断是不是小写 Character.isLowerCase(a); // 判断是不是空格 Character.isWhitespace(a); // 转成小写 Character.toUpperCase(a); // 转成大写 Character.toLowerCase(a); }
-
面试题
public static void main(String[] args) { Integer integer = new Integer(1); Integer integer2 = new Integer(1); System.out.println(integer == integer2); // false /** /1. 如果 i 在 IntegerCache.low(-128)~IntegerCache.high(127),就直接从数组返回 //2. 如果不在 -128~127,就直接 new Integer(i) public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } */ Integer m = 1; Integer n = 1; System.out.println(m==n); // true }
//示例一 Integer i1 = new Integer(127); Integer i2 = new Integer(127); System.out.println(i1 == i2);//F //示例二 Integer i3 = new Integer(128); Integer i4 = new Integer(128); System.out.println(i3 == i4);//F //示例三 Integer i5 = 127;//底层 Integer.valueOf(127) Integer i6 = 127;//-128~127 System.out.println(i5 == i6); //T //示例四 Integer i7 = 128; Integer i8 = 128; System.out.println(i7 == i8);//F //示例五 Integer i9 = 127; //Integer.valueOf(127) Integer i10 = new Integer(127); System.out.println(i9 == i10);//F //示例六 Integer i11 = 127; int i12 = 127; //只有有基本数据类型, 判断的是 //值是否相同 System.out.println(i11 == i12); //T //示例七 Integer i13 = 128; int i14 = 128; System.out.println(i13 == i14);//T