常用类-包装类
- 包装类和基本的数据类型转换
- jdk5 前的手动装箱和拆箱方式,装箱:基本类型->包装类型 反之为拆箱
- jdk5 以后的自动装箱和拆箱方式
- 自动装箱底层调用的是 valueOf方法 比如:Integer.valueOf()
- 引用博客文:包装类的详解
-
包装类转化为String类 高频
-
// 包装类转换成String Integer demo = 100; String demo2 = demo + ""; String demo3 = "100"; System.out.println(demo2); if (demo3.equals(demo2)){ System.out.println("ture"); } // 这里输出为 ture 证明 此时demo转化为 string类
-
包装类(Integer)转化为String 的三种方式
Intrger i= 100;//自动装箱 // 方式1 String str1 = i+""; // 方式2 String str2 = i.toString(); // 方式3 String Str3 = String.valueOf(i);
-
String 转为包装类
String str4 = "12345"; Integer i2 = Integer.parseInt(str4); //使用到自动装箱 Integer i3 = new Integer(str4); // 构造器
-
Integer 和Character 的 常用方法
-
面试题
-
Integer i1 = new Integer(127); Integer i2 = new Integer(127); System.out.Println(i1==i2); // f
-
Integer i3 = 128; Integer i4 = 128; System.out.Println(i3==i4); //f
-
Integer i5 = 127; Integer i6 = new Integer(127); System.out.Println(i5==i6); //f
-
Integer i7 = 127; int i8 = 127; System.out.Println(i7==i8); // t
-
-
解析
- 只要有 new 下面 == 判断的就是不是同一个对象
- Integer 的范围 为 -128~127 在这个范围类就返回这个包装类的值 不在这个范围类 就new一个新类对象 详情见 Integer.valueOf(); 源码
- 显然不是同一个对象
- 有 int 这样的基本类型 就判断值是否相等