package yuwei.com;
//Lambda 式的方法引用
//引用类方法
interface Converter{
//该方法负责将String参数转换为Intriguer.
Integer convert(String from);//需要返回值
}
interface MyTest
{
String test(String a,int a1,int b);
}
interface YourTest{
String win(String name);
}
public class LembdaDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
//用Lambda表达式来创建一个Converter对象
Converter converterl = (from)->Integer.valueOf(from);
Integer val = converterl.convert("99");
System.out.println(val);
//方法引用代替Lambda表达式:引用类方法
//函数式接口中被实现的方法的全部参数传给该类方法作为参数
Converter converter2 = Integer::valueOf;
Integer val2 = converter2.convert("993");
System.out.println(val2);
//引用特定对象的实例方法
Converter converter3 = (from)->"fkit.org".indexOf(from);
Integer val3 = converter3.convert("it");
System.out.println(val3);
//引用某类对象的实例方法
//MyTest mt = String::substring;
MyTest mt = (a,b,c)-> a.substring(b,c);
String str = mt.test("java C++ Python c#", 2, 9);
System.out.println(str);
//引用构造器
//YourTest yt = String::new;
YourTest yt = (String s)->new String(s);
String jf = yt.win("我的窗口");
System.out.println(jf);
}
}
Lambda 式的方法引用
最新推荐文章于 2024-09-03 10:33:03 发布