jdk5.0新特性
阿新 • • 發佈:2020-08-26
靜態匯入
靜態匯入就是匯入靜態方法和常量,但是此方法的實用性不是很高,因為這樣做會引起程式碼衝突
靜態匯入程式碼案例:
import static java.lang.System.out; public class YouXin03 { public static void main(String[] args) { out.println("hello"); //使用System類的靜態out方法 } }
自動拆裝箱
裝箱:把基本的資料型別轉換成包裝類
拆箱:把包裝類轉換成基本的資料型別
//JDK5.0的拆裝箱 public void youXinTest01() { Integer m= 10; //裝箱 int m = i; //拆箱 } //JDK1.4的拆裝箱 public void youXinTest02() { Integer m = new Integer(10); //裝箱 int a = m.intValue(); //拆箱 }
JDK向下相容問題
public class YouXin04 { public static void main(String[] args) { //因為JDK1.4不能實現自動拆裝箱,所以進入的是doSomething(double m);因為變數自動向上轉型doSomething(10); } public static void doSomething(double m) { System.out.println("double...."); } public static void doSomething(Integer a) { System.out.println("Integer...."); } }
增強for迴圈
增強for就是對普通for(int a=0;a<10;a++){}迴圈的一種簡便寫法,同時目的也是為了替代迭代器,因為增強for底層就是迭代器的實現,但增強for迴圈有個
public class YouXin04 { public static void main(String[] args) { //建立List List<String> list = new ArrayList<String>(); list.add("111"); list.add("222"); list.add("333"); //增強for遍歷list集合 for(String item : list) { System.out.println(item); } System.out.println("================"); //迭代器遍歷list集合 Iterator<String> it = list.iterator(); while(it.hasNext()) { System.out.pringln(it.next()); } } }
可變引數
可變引數顧名思義就是引數的個數可變的,下面舉個例先來看看什麼是可變引數。
public class YouXin05 { public static void main(String[] args) { //呼叫同一個方法,但傳遞過去的引數卻不同 add(10, 20); add(10, 20 ,30); add(10, 20 ,30 ,40); } public static void add(int...nums) { //以上呼叫都會進入到此方法 int sum = 0; for(int i=0; i< nums.length; i++) { sum += nums[i]; } System.out.println(sum); }
以上是可變引數的應用,但可變引數有些是需要注意的,比如:
- 可變引數需要寫在方法的引數列表中,不能單獨定義
- 在方法的引數列表中只能有一個可變引數
- 方法的引數列表中的可變引數,必須放在引數最後
importstatic java.lang.System.out; publicclass YouXin03 {publicstaticvoidmain(String[] args) { out.println("hello"); //使用System類的靜態out方法 } }