java双冒号::;;、 ->和 ..各自表示的含义.

这俩个符号都是java8新特性中lambda表达式的一种,主要是大大减少了代码量,提高效率。

lambda表达式通常都是采用左边方法右边参数的写法,例如:

stu -> stu.getStuId()

同时这个写法也可以写成

stu :: stu.getAge 注意这里没有方法后面的括号,可以看如下的实例:

public class LambdaTest {
	public static void main(String[] args) {
		String[] ss = {"Rafael Nadal", "Novak Djokovic",  
			       "Stanislas Wawrinka",  
			       "David Ferrer","Roger Federer",  
			       "Andy Murray","Tomas Berdych",  
			       "Juan Martin Del Potro"}; 
		List<String> list = Arrays.asList(ss);
		
		//for循环
		for (int i = 0; i < ss.length; i++) {
			System.out.println(list.get(i));
		}
		
		
		for (String aa : list) {
			System.out.println(aa);
		}
		
		//第三种 使用lambda表达式以及函数操作符 ->
		list.forEach((bb) -> System.out.println(bb));
		
		//第四种 Java8中使用双冒号::操作符完成
		list.forEach(System.out::println);
		
	}

}

for(;;)表示无限循环

经验分享 程序员 微信小程序 职场和发展