jdk5.0新特性 Integer

    xiaoxiao2022-06-23  171

    jdk1.4以前的所有版本不能使用

    自动装箱(auto_boxing)和自动拆箱(auto_unboxing)

     

    public static void main(String[] args) { //5.0以前的 Integer i1 = new Integer(10);//装 int i2 = i1.intValue();//拆 //5.0以后 Integer i3 = 10;//自动装 int i4 = i3;//自动拆 m1(321);//自动装 m2(2,1); } public static void m1(Object o) { System.out.println(o); } public static int m2(Integer i1,Integer i2) { return i1-i2;//自动拆 }

    自动装箱和自动拆箱是编译器的概念和运行程序无关----》主要目的是方便程序亚员编写

    //所有的字符串都会在 字符串常量池 中         //如果数据是在-128--->127期间,java引入了一个 “整形常量池”

    public static void main(String[] args) { Integer i1 = new Integer(10); Integer i2 = new Integer(10); System.out.println(i1==i2);//false 保存的内存地址不一样 System.out.println(i1.equals(i2));//true Integer 已经重写了Object中的equal方法 //比较数据是否相等 //所有的字符串都会在 字符串常量池 中 //static final Integer cache[] = new Integer[(-(-128))+127] //如果数据是在-128--->127期间,java引入了一个 “整形常量池”, Integer i3 = 128; Integer i4 = 128; System.out.println(i3==i4);//false Integer i5 = 127;//不会在堆中创建对象,只会在整形常量池中拿 Integer i6 = 127; System.out.println(i5==i6);//true Integer i7 = -127; Integer i8 = -127; System.out.println(i7==18);//true Integer i9 = -129;//Integer i9 = new Integer (-129); Integer i10 = -129; System.out.println(i9==i10);//false }

     

     

     

     

     

     


    最新回复(0)