1. 程式人生 > 實用技巧 >JDK1.5新特性

JDK1.5新特性

JDK 5.0 的一個重要主題就是通過新增一些特性來簡化開發,這些特性包括:

1.靜態匯入

2.自動裝箱/拆箱

3.for-each迴圈

4.可變引數

5.列舉

6.泛型

7.註解

使用這些特性有助於編寫更加清晰,精悍,安全的程式碼。

靜態匯入:

import static java.lang.Math.*;
import static java.lang.System.out;
//import static java.math.*;
public class StaticAttr {
    public static void main(String[] args) {
        out
.println("xx"); out.println(PI); out.println(abs(-1)); out.println(pow(1.5,2.2)); } }

自動裝箱/拆箱

public class Zy2 {
    public static void main(String[] args) {
        Integer a=300;
        Integer b=300;
        System.out.println(a.equals(b));
        System.out.println(a==b);
        System.
out.println("-------------"); Integer d=127; Integer c=127; System.out.println(d.equals(c)); System.out.println(d==c); System.out.println("-------------"); Integer it=Integer.valueOf(103); Integer it2=Integer.valueOf(103); System.out.println(it.equals(it2)); System.
out.println(it==it2); } }

for-each迴圈

public class Foreach {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        Set<String> set=new HashSet<>();
        set.add("a");
        set.add("b");
        set.add("c");

        for (String s: set) {
            System.out.println(s);
        }
    }

}

可變引數

public class Foreach {
    public static void main(String[] args) {
        ArrayList list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        Set<String> set=new HashSet<>();
        set.add("a");
        set.add("b");
        set.add("c");

        for (String s: set) {
            System.out.println(s);
        }
    }

}

列舉

public enum  Season implements IPrinter{
    春天{
        @Override
        public void show(){
            System.out.println("春天");
        }
        public void print(){
            //TO DO
        }
    },
    夏天{
        @Override
        public void show(){
            System.out.println("夏天");
        }
        public void print(){
            //TO DO
        }
    },
    秋天{
        @Override
        public void show(){
            System.out.println("秋天");
        }
        @Override
        public void print(){
            //TO DO
        }
    },
    冬天{
        @Override
        public void show(){
            System.out.println("冬天");
        }
        @Override
        public void print(){
            //TO DO
        }
    }

    ;


    public abstract void show();

}
public interface  IPrinter {
    void print();
}
import java.util.Scanner;

public class Zy5 {
    public static void main(String[] args) {
        Season Season1= Season.春天;
        Season Season2= Season.冬天;
        Season Season3= Season.夏天;

        Season[] seasons = Season.values();
        for (Season xx:seasons) {
            System.out.println(xx.name());
            System.out.println(xx.ordinal());

        }
        Scanner scanner = new Scanner(System.in);
        System.out.println("請輸入一個季節:");
        String temp = scanner.next();
        //將string--->列舉型別
        Season se=Season.valueOf(temp);
        se.show();

        System.out.println("請選擇一個季節編號:");
        int no = scanner.nextInt();
        //將數字-->列舉型別
        Season se1 = Season.values()[no];
        se1.show();

    }

}

技術總結:

1.1 JDK5.0增加的靜態匯入語法用於匯入指定類的某個靜態屬性值(方法)或全部靜態屬性值(方法)

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

匯入指定類的單個靜態屬性:

import static java.lang.System.out

匯入指定類全部靜態屬性

import static java.lang.Math.*