java中lambda表达式

lambda表达式

含义

就是对匿名内部类的简化。

前提

必须满足函数式接口(接口里面只有一个语句体的叫做函数式接口)

简化过程

前提

1)声明函数式接口,接口中声明抽象方法,public String getValue(String str)
        * 2)声明类 TestLambda,类中编写方法使用接口作为参数,讲一个字符串转成大写,并作为方法的返回值
        * 3)再将一个字符串的第2个和第4个索引位置进行截取子串*/
public static void main(String[] args) {
        String s = "dasds";
        System.out.println(testString(s, new Getvalue() {
            @Override
            public String getvalue(String str) {
                return str.toUpperCase();
            }
        }));

    }
    public static String testString(String str,Getvalue g){
        return  g.getvalue(str);
    }
interface GetValue{
    public String getValue(String str);
}
 new Getvalue() {
            @Override
            public String getvalue(String str) {
                return str.toUpperCase();
            }
        }

这个代码为匿名函数下面开始说简化过程(注意这个接口时是函数式接口因此可以用lambda表达式简化)

  1. 将new和方法名等省略
(String s)->{return s.toUppercase();}
  1. 如果语句体只有一句将大括号去掉,如果是return语句则省略return
(String s)->s.toUppercase()
  1. 如果有多个参数或者一个参数且类型相同 ,参数类型省略
s->s.toUppercase()

此为lambda表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值