jdk1.8 lambda表达式接口的使用

我们是以jdk1.8。完成接口的使用。
1 定义一个接口,方法中具有多个参数,没有返回值。我们看看使用lambad方式如何使用。

package com.zxf.dLambda;
public interface NoneReturnMutipleParameter {
    //多个参数,无返回值。
    public void  f1(int x,int y);
}

  @Test
    public void test3(){
        //多个参数,无返回值。
        NoneReturnMutipleParameter lambad3=(int x,int y)->{
            System.out.println("多个参数,无返回值"+(x+y));
        };
        lambad3.f1(4,5);
    }
    @Test
    public void test3_1(){
        //多个参数,无返回值。简略写法。
        NoneReturnMutipleParameter lambad3_1=(x,y)->System.out.println("多个参数,无返回值"+(x+y));
        lambad3_1.f1(2,3);
    }

2 没有参数,没有返回值的使用

package com.zxf.dLambda;

public interface NoneReturnParameter {
    //无参  无返回值
    void  f1();
}

@Test
    public void test1(){
        //无参  无返回值
        NoneReturnParameter lamdba1=()->{
          System.out.println("这是一个无参数,无返回值的方法。");
        };
        lamdba1.f1();
    }

3 一个参数,没有返回值。

package com.zxf.dLambda;

public interface NoneReturnSingleParameter {
    //一个参数,没有返回值
    public void  f1(int r);
}

 @Test
    public void test2(){
        //一个参数,没有返回值
        NoneReturnSingleParameter lambad2=(int x)->{
            System.out.println("一个参数,没有返回值!"+x);
        };
        lambad2.f1(324);
    }

4 多个参数,有返回值的。

package com.zxf.dLambda;

public interface SingleReturnMutipleParameter {
    //多个参数,有返回值
    public String f1(int a,int b);
}

@Test
    public void test6(){
        //多个参数,有返回值
        SingleReturnMutipleParameter lambad6=(int x,int y)->{
            return "计算的结果为:"+(x+y);
        };
        String s = lambad6.f1(5, 5);
        System.out.println(s);
    }

5 没有参数,有返回值。

package com.zxf.dLambda;

public interface SingleReturnNoneParameter {
    //无参,有返回值。
    public int f1();
}

 @Test
    public void test4(){
        //无参,有返回值。
        SingleReturnNoneParameter lambad4=()->{
          return 34;
        };
        int x=lambad4.f1();
        System.out.println(x);
    }

6 一个参数,有返回值。

package com.zxf.dLambda;

public interface SingleReturnSingleParameter {
    //一个参数 有返回值
    public int  f1(int c);
}

 @Test
    public void test5(){
        //一个参数 有返回值
        SingleReturnSingleParameter lambad5=(int x)->{
            return x+5;
        };
        int i = lambad5.f1(30);
        System.out.println(i);
    }
    @Test
    public void test5_1(){
        //一个参数 有返回值 ,简略写法。
          /*
             可以省略参数的类型定义,还可以省略{};
         */
        SingleReturnSingleParameter lambad5_1=x->x+5;
        int i=lambad5_1.f1(15);
        System.out.println(i);
    }

大家可以尝试使用java8提供的lambda表达式写法。有问题在留言讨论。

猜你喜欢

转载自blog.csdn.net/zhang6132326/article/details/107764625
今日推荐