package com.Lucky.OftenClass;
/*
包装类:1.为了解决现实中将基本数据类型转换成对象,以便操作【java。lang】
2.实现字符串与基本数据类型之间的转换
包装类特征:1.将八大基本数据类型的首个字母大写即可【char与int除外】
例如: float -->Float
char --> Character
int --> Integer
2.除了Character以及Booleany以外,其他包装类都属于数字型【java.lang.Number】的子类
自动装箱的代码:Integer实例 test是传递的值
1.Intger int1=Integer.valueOf(test);
在valueOf()方法里面会判断传递的值是否在基本数据类型的范围之内,
如果在范围之内,就值就valueOf
如果不在范围之内,就new Integer();
自动拆箱的代码:Integer实例
Integer Ig=5; //自动装箱【将基本数据类型int转换成Integer】
int res=Ig; //调用intValue();
*/
public class packClass {
public static void main(String[] args) {
///Integer
System.out.println("-----Integer------");
System.out.println(Integer.MAX_VALUE); //Integer的最大值
System.out.println(Integer.MIN_VALUE); //Integer的最小值
System.out.println(Integer.SIZE); //Integer的字节【位数】
System.out.println(Integer.TYPE); //Integer的底层的基本数据类型
//注意点:实现字符串与基本数据类型的转换
String str="22";
String strFloat="3.14";
// int IntType=(int) str; //无法进行强制转换【强制转换是指在数字型的数据类型之间的转换】
/*
包装类登场
*/
int testInt=Integer.parseInt(str);
double testFloat=Float.parseFloat(strFloat);
System.out.println(testInt);
System.out.println(testFloat);
//自动装箱和自动拆箱
Integer Ig=5; //自动装箱【将基本数据类型int转换成Integer】
int res=Ig; //自动拆箱【隐藏代码:int gun=Ig.intValue();】
//比较Integer中的== 与 equals 【面试题】
Integer int1=28; //自动装箱 int的范围「-127 ~ 128」在int范围内
Integer int2=28;
Integer err1=999; //自动装箱 int的范围「-127 ~ 128」超出了int的范围
// 【 隐藏代码:Integer integer = Integer.valueOf(err1);】
Integer err2=999;
Integer int4=new Integer(22);
Integer int5=new Integer(22);
System.out.println(int1==int2); //true [== 比较栈帧值]
System.out.println(int4==int5); //false 在对象中,栈帧里面存储的是在堆中的内存地址【每个对象所对应的地址不一样】
System.out.println(int1.equals(int2)); //true [equals比较具体值]
System.out.println(err1==err2); //false
}
}