publicstaticvoidmain(String[] args){int a =10;Integer ii =Integer.valueOf(a);Integer ii2 = a;System.out.println(a);System.out.println(ii);System.out.println(ii2);}//基本类型转换为应用类型
拆箱
把包装类型转换为基本类型
publicstaticvoidmain(String[] args){Integer ii =10;//装箱int a = ii;//自动拆箱int b = ii.intValue();//手动拆箱double c = ii.doubleValue();//转换为不同包装类}
装箱中的问题
publicstaticvoidmain(String[] args){Integer a =100;Integer b =100;System.out.println(a == b);//trueInteger c =200;Integer d =200;System.out.println(c == d);//false}//超过128,存储时new新对象
//定义一个泛型类,找到数组当中最大的值classAlg<TextendsComparable<T>>{publicTfindMax(T[] array){T max = array[0];for(int i =1;i < array.length;i++){if(array[i].compareTo(max)>0){
max = array[i];}}return max;}}publicclass test3 {publicstaticvoidmain(String[] args){Alg<Integer> alg =newAlg<>();Integer[] array ={1,2,3,4,5,6,7,8,9,10};Integer x = alg.findMax(array);System.out.println(x);}}
泛型方法
朴素方法
classAlg2{public<TextendsComparable<T>>TfindMax(T[] array){T max = array[0];for(int i =1;i < array.length;i++){if(array[i].compareTo(max)>0){
max = array[i];}}return max;}}publicclass test3 {publicstaticvoidmain(String[] args){Alg2 alg2 =newAlg2();Integer[] array ={1,2,3,4,5,6,7,8,9};Integer x = alg2.<Integer>findMax(array);System.out.println(x);}}
静态方法
classAlg3{publicstatic<TextendsComparable<T>>TfindMax(T[] array){T max = array[0];for(int i =1;i < array.length;i++){if(array[i].compareTo(max)>0){
max = array[i];}}return max;}}publicclass test3 {publicstaticvoidmain(String[] args){Integer[] array ={1,2,3,4,5,6,7,8,9};Integer x =Alg3.<Integer>findMax(array);//不需要对象System.out.println(x);}}