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