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