Java 5 的新标准语法和用法详解集锦
1,静态导入 //如import static java.lang.Math.*; //导入包或类里面的静态方法. import static java.lang.Math.max; /** * java5的静态导入 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { System.out.println(max(1,3)); } }
/** * java5的可变参数方法 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { //实现 x*(x1+x2+x3+...+xn) System.out.println(add(2,2,3));//2*(2+3)=10 System.out.println(add(2,2,3,4,1));//2*(2+3+4+1)=20 } public static int add(int x,int... args){ int sum = 0; for(int i=0;i<args.length;i++){ sum += args[i]; } return sum*x; } }
/** * java5的新FOR循环 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { //实现 x*(x1+x2+x3+...+xn) System.out.println(add(2,2,3));//2*(2+3)=10 System.out.println(add(2,2,3,4,1));//2*(2+3+4+1)=20 } public static int add(int x,int... args){ int sum = 0; for(int i:args){ sum += i; } return sum*x; } }
public class Java5 { public static void main(String[] args) { Week weekday = Week.MON; System.out.println(weekday); System.out.println(weekday.nextDay()); } } /** * 用普通类模拟实现枚举类型-星期 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ abstract class Week{ private String conf; private Week(String conf){ this.conf = conf; } /*建立NextDay()抽象方法,将NextDay方法的一堆if...else...转换成为 由子类去覆盖此方法*/ public abstract Week nextDay(); //建立公开的静态常量子类 public final static Week MON = new Week("星期一"){ public Week nextDay() { return TUE; } }; public final static Week TUE = new Week("星期二"){ public Week nextDay() { return WED; } }; public final static Week WED = new Week("星期三"){ public Week nextDay() { return THI; } }; public final static Week THI = new Week("星期四"){ public Week nextDay() { return FRI; } }; public final static Week FRI = new Week("星期五"){ public Week nextDay() { return STA; } }; public final static Week STA = new Week("星期六"){ public Week nextDay() { return SUM; } }; public final static Week SUM = new Week("星期日"){ public Week nextDay() { return MON; } }; /*重写toString()方法*/ public String toString() { return this.conf; } } /** * 使用JAVA5提供的枚举类型 - 基础用法和基本方法 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { Week w = Week.MON; System.out.println("toString - "+w); System.out.println("与MON比较 - "+w.compareTo(Week.MON)); System.out.println("Nama - "+w.name()); System.out.println("所在顺序 - "+w.ordinal()); System.out.println("枚举数量 - "+Week.values().length); } public enum Week{ MON,TUE,WED,THE,FRI,STA,SUM; } } /** * 使用JAVA5提供的枚举类型 - 构造方法 * 加上private String name 和 重新toString方法可以实现中文信息输出 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { System.out.println("MON(1),TUE(),WED,THE(1),FRI,STA,SUM();"); Week w = Week.MON; System.out.println(w); } public enum Week{ MON(1),TUE(),WED,THE(1),FRI,STA,SUM(); private Week(){ System.out.println("空构造函数"); } private Week(int i){ System.out.println("带参数构造函数"); } } } /** * 使用JAVA5提供的枚举类型 - 抽象函数 * 让子类去覆盖抽象方法 - 实现Next()的功能 * @author qsuron - 博客:http://blog.csdn.net/qsuron */ public class Java5 { public static void main(String[] args) { Week w = Week.MON; System.out.println(w.next()); } public enum Week{ //由于麻烦,只写2个星期数 MON{ public Week next(){ return TUE; } }, TUE{ public Week next(){ return MON; } }; public abstract Week next(); } }