lambda表达式

1.1

package com.lam;

@FunctionalInterface
interface mulInt{
    int result(int a);
    //1.8后默认方法
    default int result(int x,int y){
        return x*y;
    }
}

public class LambdaDemo {

    public static void main(String[] args) {

        mulInt b=(i)->2*i;
        mulInt a=i->2*i;
        System.out.println(b.result(1));

        System.out.println(b.result(2,2));
    }

}

 

  1. 1.2自定义函数编程
package com.lam;

import java.text.DecimalFormat;

interface PrintMoney{
    String formter(int i);
}

class MoneyProform{

    private final int money;

    public MoneyProform(int money) {
        this.money = money;
    }

    public void printMoney(PrintMoney  printMoney){
        System.out.println(printMoney.formter(money));
    }
}


public class LambDaDemo1 {

    public static void main(String[] args) {
        MoneyProform moneyProform = new MoneyProform(9999999);
        moneyProform.printMoney(i->new DecimalFormat("#,###").format(i));
    }

}

 

  1. 函数function
package com.lam;

import java.text.DecimalFormat;
import java.util.function.Function;

//interface PrintMoney{
//    String formter(int i);
//}

class MoneyProform{

    private final int money;

    public MoneyProform(int money) {
        this.money = money;
    }

    public void printMoney(Function<Integer,String> moneyFormat){
        System.out.println(moneyFormat.apply(this.money));
    }
}


public class LambDaDemo1 {

    public static void main(String[] args) {
        MoneyProform moneyProform = new MoneyProform(9999999);
        moneyProform.printMoney(i->new DecimalFormat("#,###").format(i));
    }

}

 

2.函数式流式编程

package com.lam;

import java.text.DecimalFormat;
import java.util.function.Function;

//interface PrintMoney{
//    String formter(int i);
//}

class MoneyProform{

    private final int money;

    public MoneyProform(int money) {
        this.money = money;
    }

    public void printMoney(Function<Integer,String> moneyFormat){
        System.out.println(moneyFormat.apply(this.money));
    }
}


public class LambDaDemo1 {

    public static void main(String[] args) {
        MoneyProform moneyProform = new MoneyProform(9999999);
        Function<Integer, String> integerStringFunction = i -> new DecimalFormat("#,###").format(i);
        moneyProform.printMoney(integerStringFunction.andThen(s->"人民币"+s));
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值