基本类型和包装类的对应
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
1.integer类说明
Integer
类在对象中包装了一个基本类型 int
的值。Integer
类型的对象包含一个 int
类型的字段。
此外,该类提供了多个方法,能在 int
类型和 String
类型之间互相转换,还提供了处理 int
类型时非常有用的其他一些常量和方法。
构造方法 | |
| |
|
2.String和int类型的相互转换
A:int -- String
a:和""进行拼接
b:public static String valueOf(int i)
c:int -- Integer -- String
d:public static String toString(int i)
int num=100; String str=num+"";
String.valueOf(num);
String s = new Integer(num).toString();
System.out.println(s);
B:String -- int
a:String -- Integer -- intValue();
b:public static int parseInt(String s)
String str2="50";
//方式1
Integer integer = new Integer(str2);
int i = integer.intValue();//将包装类型,转换成他所对应的基本类型
System.out.println(i+1);
//方式2
int i1 = Integer.parseInt(str2);
System.out.println(i1);
3.自动装箱与拆箱
自动拆箱:将包装类型自动转换成他所对应的基本类型
自动装箱:将基本类型自动转换成他所对应的包装类型
Integer integer = new Integer(1000); int i = integer.intValue(); //手动拆箱 Integer integer1 = Integer.valueOf(100);//手动装箱 Integer integer2 = Integer.valueOf("10000");
面试习题:
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2);//false
//Integer重写了父类的equals方法,比较的是值是否相等
System.out.println(i1.equals(i2));//true
System.out.println("-----------");
Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3 == i4);//false
System.out.println(i3.equals(i4));//true
System.out.println("-----------");
//这个值,超过了一个字节的范围,回去重新new一个Integer对象
Integer i5 = 128;
Integer i6 = 128;
System.out.println(i5 == i6);//false
System.out.println(i5.equals(i6));//true
System.out.println("-----------");
// Integer integer = Integer.valueOf(127);
//没有超过一个字节 会从缓存里面取出一个对象
Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7 == i8);//true
System.out.println(i7.equals(i8));//true