Lambda 式的方法引用

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);

    }
}

猜你喜欢

转载自blog.csdn.net/weixin_40051278/article/details/80513117