Java 新特性

---------------------- android培訓java培訓、期待與您交流! ----------------------

Java 1.5後新特性

1.switch中可以使用字串

String s ="test";      
switch (s) {      
  case "test" :      
    System.out.println("test");    
  case "test1" :      
    System.out.println("test1");    
    break ;      
  default :      
    System.out.println("break");    
    break ;      
}  

2.可變參數:
語法:void XXX(Object... args)

  publicstatic void main(String args[]){
      sum(1,2,3);
      sum(new int[3]);
     }
  publicstatic int sum(int...args){
      int sum = 0;
     for(int i = 0;i<args.length;i++){
      sum += args;
      }
     return sum;
   }

3.增強for循環
語法:for(T t :ts)

List li = new ArrayList();
for(Object o : li){
}

5.自動拆箱和裝箱
Integer i = 0;
Integer ii = 0;
boolean b = i ==ii;
Integer i2 = 128;
Integer ii2 = 128;
boolean b2 = i2 == ii2;
Object o = new Object[]{1,"1"};
int i3 = new Integer(1);
int i4 = new Integer(128);

6.枚舉(常用來設計單例模式)

public class EnumTest {

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;}
}
}

7.靜態導入(Static import)--無需在使用其他類的靜態成員變量前綴其類名.這將使得代碼更爲簡潔。

說明:
靜態方法可以不寫類名
當類名重名是,需要指定具體的包名。當方法重名是,指定具備所屬的對象或者類
import java.lang.Syste,.*; 導入了System中所有的靜態成員
沒有寫static導入的是類
帶static 導入的是靜態成員

泛型(Generics)--爲集合(collections)提供編譯時類型安全,無需每刻從Collections取得一個對象就進行強制轉換(cast)

8. 泛型(Generics)--爲集合(collections)提供編譯時類型安全,無需每刻從Collections取得一個對象就進行強制轉換(cast)

 

---------------------- android培訓java培訓、期待與您交流! ----------------------詳細請查看:http://edu.csdn.net/heima
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章