1. 程式人生 > >JDK5以後的新特性---增強for迴圈,靜態匯入,可變引數

JDK5以後的新特性---增強for迴圈,靜態匯入,可變引數

一.增強for迴圈的概述

  1. 增強for迴圈的出現是用來將陣列和集合的遍歷簡單化
  2. 格式:
    for(資料型別(引用型別) 變數名: 陣列或者集合的物件名稱){
        輸出變數名;
        }
  3. 應用場景:不是集合就是陣列(int型別(建議寫Integer)/String型別的居多)
  4. 弊端:該物件不能為空;否則報錯:NullPointerException:空指標異常
public class Demo6 {
    public static void main(String[] args) {
        //建立集合物件
        ArrayList<Student> al = new
ArrayList<Student>(); //建立學生物件 Student s1 = new Student("王一",21); Student s2 = new Student("王二",22); Student s3 = new Student("王三",23); Student s4 = new Student("王四",24); al.add(s1); al.add(s2); al.add(s3); al.add(s4); //增強for迴圈遍歷
for(Student s:al){ System.out.println(s.getName()+"---"+s.getAge()); } } } 結果: 王一---21 王二---22 王三---23 王四---24

二.靜態匯入

  1. 格式:例:import static java.lang.Math.abs;
  2. 注意:
    • 類中有靜態方法,就可以使用靜態匯入
    • 如果要使用靜態匯入,為了防止在一個類中出現同名的方法,那麼呼叫的時候需要字首來區別開來
import static java.lang.Math.abs;
import static
java.lang.Math.pow; import static java.lang.Math.sqrt; public class Demo1 { public static void main(String[] args) { System.out.println(abs(-100)); System.out.println(pow(2,3)); System.out.println(sqrt(100)); } }

三.可變引數

  1. 可變引數:
    • 多個引數其實相當於由陣列組成的一個數據
    • 如果一個方法中有多個引數,那麼可變引數指定最後一個引數
  2. 格式:
    修飾符 返回值型別 方法名(引數型別…變數名){
    }
public class Demo1 {
    public static void main(String[] args) {
        System.out.println(sum(10,20));
        System.out.println(sum(10,20,30));
        System.out.println(sum(10,20,30,40));
    }

    //求未知個數資料之和
    //可變引數(相當於一個數組)
    public static int sum(int...a){
        int s = 0;
        for(int x = 0 ; x < a.length ; x ++){
            s += a[x];
        }
        return s;
    }
}

四.陣列轉換為集合

  1. 陣列轉換成集合
    Arrays(陣列工具類):public static <T> List<T> asList(T... a):將陣列轉換成集合
  2. 注意:
    雖然陣列是可以轉換成集合的,但是此時集合的長度不能改變
import java.util.Arrays;
import java.util.List;

public class Demo2 {
    public static void main(String[] args) {
        String[] arr = {"hello","world","java"};

        //陣列轉換為集合
        List<String> list = Arrays.asList(arr);

        //給集合中新增元素
        //報錯,ava.lang.UnsupportedOperationException
//      list.add("javaee");
    }
}