java 快捷表达式
:: 和 -> 主要说这两个,这个好像也叫:Lambda表达式 但我不知道对不对,就先叫他 “快捷表达式“,顾名思义:使用它,可以省很多代码,可以用来装X,但不便于阅读。
这种东西呢,虽然不建议在写程序使用,但别人写出了,咱应该可以看懂呀,不然多没面子。具体什么含义,我担心说不清楚,就看例子吧
/** * Lambda表达式 :: -> * * @author duanxinjie */ public class MyTest { public static void main(String[] args) { List<String> a1 = Arrays.asList("a", "b", "c"); //第一种 System.out.println("-----第一种-----"); for (String a : a1) { printValur(a); }; //第二种 System.out.println("-----第二种-----"); a1.forEach(x -> printValur(x)); //第三种 System.out.println("-----第三种-----"); a1.forEach(MyTest::printValur); //第四种 System.out.println("-----第四种-----"); Consumer<String> consumer = MyTest::printValur; a1.forEach(x -> consumer.accept(x)); } public static void printValur(String str) { System.out.println("print value : " + str); } }
运行结果: