java8 新操作符::做方法引用

MargeryMuni 8年前發布 | 2K 次閱讀 Java Java8

java8中引入了一個新的操作符::, 是兩個英文半角的冒號, 這個操作符用來引用方法, 其本質也是對接口的一種重寫。

請看下面的實例:

import java.util.ArrayList;
import java.util.List;

/**
 * Created by outofmemory.cn on 2015/11/25.
 */
public class AppMethodReference {
    public static void main(String[] args) {
        List<String> names = new ArrayList<String>();
        names.add("Bush");
        names.add("Tom");
        names.add("Jim");

        System.out.println("print with instance method");
        names.forEach(System.out::println);

        System.out.println("print with instance method");
        AppMethodReference appMethodReference = new AppMethodReference();
        names.forEach(appMethodReference::printSomething);

        System.out.println("print with static method");
        names.forEach(AppMethodReference::printStatic);
    }

    private void printSomething(String str) {
        System.out.println(str);
    }

    private static void printStatic(String input) {
        System.out.println(input);
    }
}

::操作符可以引用實例方法,也可以引用靜態方法, 引用實例時::前面是實例, 引用靜態方法時::前面是類。 上述方法輸出內容如下:

print with instance method
Bush
Tom
Jim
print with instance method
Bush
Tom
Jim
print with static method
Bush
Tom
Jim
 本文由用戶 MargeryMuni 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!