JAVA学习日记: Lambda表达式(5)

今天学习了的主要内容:

1.方法引用的概念以及语法的特征
2.方法引用的使用

方法引用的概念以及语法的特征:

	Lambda表达式不能独立存在,它通常都是赋值给一个函数式接口类型变量。
	方法引用是指:使用已经存在的方法来创建Lambda表达式的一种简化方式。
	作用:代码简化、易读、简明。
<限定>::<方法名>
Magical<String> m3 = String::length;
将String里的length()方法引用过来。
该方法不会立即执行,他会在目标类型被调用时开始运行。

都有哪些方法引用类型:
	TypeName::staticMethod引用类、接口或枚举中的静态方法
	objectRef::instanceMethod特定对象的实例方法
	ClassName::instanceMethod类的任意对象的实例
	TypeName.super::instanceMethod特定对象的超类的实例方法
	ClassName::new类的构造方法
	ArrayTypeName::new数组的构造方法

方法引用的使用:

	方法引用在java8新增的对集合操作的Stream API中被大量的使用。

LambdaTest06类(测试方法引用):

package LessonForLambda05;

@FunctionalInterface
interface Magicable<T>
{
    
    
	int getInt(T t);
}

public class LambdaTest06 
{
    
    
	public static void main(String[] args) 
	{
    
    
		//一般情况下的做法
		Magicable<String> m1 = t->t.length();
		
		//完整做法(推荐)
		Magicable<String> m2 = (String t)->{
    
    return t.length();};
		
		//接下来改写一下,若已经存在一个程序,并且具有符合逻辑的方法。
		Magicable<String> m3 = String::length;
		System.out.println(m3.getInt("zlm"));
		
		Magicable<String> m4 = Integer::parseInt;//parseInt方法使字符串数字变成整型变量传出。
		int v1 = m4.getInt("1234");
		int v2 = v1+1234;
		
		System.out.println(v2);
		System.out.println(m4.getInt("1234"));
	}

}

本篇文字来源于:
	咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》
	在这里十分感谢老师能够给我带来学习的激情。

2020.10.19
可以转载我的学习日记但请注明出处,谢谢。
本文章是本人学习笔记,不进行任何商用!只为记录本人学习历程。
毕	

猜你喜欢

转载自blog.csdn.net/SIESTA030/article/details/109166957