1. 程式人生 > 實用技巧 >JDK5.0新特性1

JDK5.0新特性1

本章目標:

1.靜態匯入
2.自動裝箱/拆箱
3.for-each迴圈
4.可變引數
5.列舉

1.靜態匯入語句使用 import static 語句

1 匯入指定類的單個靜態屬性:                               
2 import static java.lang.System.out
3 匯入指定類全部靜態屬性                                   
4 import static java.lang.Math.*

2.自動裝箱與自動拆箱:

•自動裝箱(autoboxing):把一個基本資料型別直接賦給對應的包裝類變數, 或者賦給 Object 變數

• 自動拆箱:把包裝類物件直接賦給一個對應的基本型別變數

3.程式碼展示:

public static void main(String[] args) {
        Integer a1=100;
        Integer a2=100;
        System.out.println(a1==a2);
        System.out.println(a1.equals(a2));

        int b1=100;
        int b2=100;
        System.out.println(b1==b2);

        Integer c1
=-127; Integer c2=-127; System.out.println(c1==c2); System.out.println(c1.equals(c2)); // 在-128--127這個範圍內直接賦值int數值,Integer不會new 物件; Integer d1=Integer.valueOf(100); Integer d2=Integer.valueOf(100); System.out.println(d1==d2); }

執行結果展示:

true
true
true true true true

4.使用foreach迴圈遍歷陣列和集合元素時, 無須獲得陣列和集合長度, 無須根據索引來訪問陣列元素和集合元素,

forearch 迴圈自動遍歷陣列和集合的每個元素

for(type varName : array | collection) {                 
     //varName 自動迭代訪問每一個元素                                                                     
}
 public static void main(String[] args) {
        //增強型for迴圈,不是基於index下標去遍歷的,可用Set來證明
        List list=new ArrayList();
        list.add("");
        list.add("");
        list.add("");
        for (int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

        for (Object li:list) {
            System.out.println(li);
        }

        Set set=new HashSet();
        set.add("Tang");
        set.add("Ting");
        set.add("Yue");

        for (Object se:set) {
            System.out.println(se);
        }
    }

5.若在定義方法時, 在最後一個形參的型別後增加三點(…), 則表明該形參可以接受多個引數值, 多個引數值被當成陣列傳入 可變形參只能處於形參列表的最後,

所以一個方法最多隻能有一個長度可變的形參

public class Demo4 {
    public static void main(String[] args) {
        Demo4.fun("aa");
        Demo4.fun("bb",1);
        Demo4.fun("cc",1,2,3);
        int[] arr = new int[]{10,20,30};
        Demo4.fun("dd",arr);

    }
    public static  void fun(String s,int... x){
        System.out.println("___________");
        System.out.println(x.length);
        for (int i: x) {
            System.out.println(i);

        }

心得:

上蒼真的很公平,命運在向你關閉一扇窗的同時,又為你打開了另一扇窗。世上的任何事是多面的,
我們看到的只是其中的一個側面,
這個側面讓你痛苦,但痛苦往往可以轉化。任何不幸,失敗與損失,都有可能成為我們有利的因素。