黑马程序员技术交流社区

标题: *********黑马必学知识 jdk1.5新特性******** [打印本页]

作者: 万琪    时间: 2013-6-21 19:14
标题: *********黑马必学知识 jdk1.5新特性********
JDK1.5新特性:
1.自动装箱与拆箱:
Integer iObj = 3;
System.out.println(iObj + 12);
   Integer i1 = 137(-128--127范围时,为true);
   Integer i2 = 137(-128--127范围时,为true);
   System.out.println(i1 == i2); //false,但是括号中时却返回ture,原因是Integer采用的是享元模式
   Integer i3 = Integer.valueOf(213);
   Integer i4 = Integer.valueOf(213);
   System.out.println(i3==i4);//同上,另一种包装形式

2.枚举(常用来设计单例模式)
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
   WeekDay1 weekDay = WeekDay1.MON;
   System.out.println(weekDay.nextDay());
   WeekDay weekDay2 = WeekDay.FRI;
   System.out.println(weekDay2);
   System.out.println(weekDay2.name());
   System.out.println(weekDay2.ordinal());
   System.out.println(WeekDay.valueOf("SUN").toString());
   System.out.println(WeekDay.values().length);
   new Date(300){};
}
public enum WeekDay{
   SUN(1),MON(),TUE,WED,THI,FRI,SAT;
   private WeekDay(){System.out.println("first");}
   private WeekDay(int day){System.out.println("second");}
}

public enum TrafficLamp{
   RED(30){
    public TrafficLamp nextLamp(){
     return GREEN;
    }
   },
   GREEN(45){
    public TrafficLamp nextLamp(){
     return YELLOW;
    }   
   },
   YELLOW(5){
    public TrafficLamp nextLamp(){
     return RED;
    }   
   };
   public abstract TrafficLamp nextLamp();
   private int time;
   private TrafficLamp(int time){this.time = time;}
}
}
3.静态导入
import static java.lang.Math.*;
public class StaticImport {
public static void main(String[] args){
   int x = 1;
   try {
    x++;
   } finally {
    System.out.println("template");
   }
   System.out.println(x);
  
  
   System.out.println(max(3, 6));
   System.out.println(abs(3 - 6));
  
}
}
4.可变参数
public class VarableParameter {
/**
* @param args
*/
public static void main(String[] args) {

   System.out.println(add(2,3));
   System.out.println(add(2,3,5));  
}


public static int add(int x,int... args){
   int sum = x;
/*   for(int i=0;i<args.length;i++){
    sum += args;
   }*/

   for(int arg : args){
    sum += arg;
   }
   return sum;
}
}
5.内省
ReflectPoint pt1 = new ReflectPoint(3,5);
BeanInfo beanInfo = Introspector.getBeanInfo(pt1.getClass());
   PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
   Object retVal = null;
   for(PropertyDescriptor pd : pds){
     Method methodGetX = pd.getReadMethod();
     retVal = methodGetX.invoke(pt1);

   }

作者: 万琪    时间: 2013-6-21 21:15
1.5是考试要考的,,,1,6,1,7是以后面试的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2