首页 > 其他分享 >2024/3/30 21点的lambda表达式

2024/3/30 21点的lambda表达式

时间:2024-03-30 22:00:15浏览次数:22  
标签:MyInterface 21 int sum 30 System 2024 println out


package com.atguigu;

interface MyInterface{
    int sum(int i,int j);
}
interface Myhaha{
    int haha();
}
//检查注解,帮我们快速检查我们写的接口是否函数式接口
@FunctionalInterface
interface Myhehe{
    int hehe(int i);
}


//1.自己写实现类
class MyInetfaceImpl implements MyInterface{
    @Override
    public int sum(int i,int j){
        return i+j;
    }
}

public class Lambda {
    public static void main(String[] args) {
        //1.自己创建实现类对象
        MyInterface my=new MyInetfaceImpl();
        System.out.println(my.sum(2,3));

        //2、创建匿名实现类对象
        MyInterface myInterface = new MyInterface() {
            @Override
            public int sum(int i, int j) {
                return i+j;
            }
        };
        System.out.println(myInterface.sum(1,2));


        //3、lambda表达式:语法糖  参数列表  + 箭头 + 方法体
        MyInterface myInterface1=(x,y)->{return x*y;};
        System.out.println(myInterface1.sum(2,3));

        //参数位置最少情况
        Myhaha myhaha=()->{return 1;};

        System.out.println(myhaha.haha());

        Myhehe myhehe=y->{return y*y;};
        System.out.println(myhehe.hehe(4));

        Myhehe myhehe1=y->y+1;
        System.out.println(myhehe1.hehe(114514));

        //完整写法如上:
        //简化写法:
        //1)、参数类型可以不写,只写(参数名),参数变量名随意定义;
        //    参数表最少可以只有一个 (),或者只有一个参数名;
        //2、方法体如果只有一句话,{} 可以省略

        Myhehe  hehe3 = y -> y + 1;
        System.out.println(hehe3.hehe(7));
        //以上Lambda表达式简化了实例的创建。


        //总结:
        // 1、Lambda表达式: (参数表) -> {方法体}
        // 2、分辨出你的接口是否函数式接口。 函数式接口就可以lambda简
    }
}

重点:函数式编程
可能在开发crud场景用处不大,在大数据更改方法中重要

标签:MyInterface,21,int,sum,30,System,2024,println,out
From: https://www.cnblogs.com/redzhengtao/p/18106101

相关文章

  • 2024-03-30
    2024-03-30扫描线这两天讲课一直提到扫描线,学一下看题解学会的,挺简单的感觉本来以为半个小时就能写完但是状态十分不好小错很多,调了一个半小时/kk注意离散化的是横坐标而线段树存的是切割出来的线段因此左端点要加\(1\),求长度的时候又得减回来扫描线经典的技巧是将开始......
  • 材料跨考计算机专硕现状及未来规划(二) | 2024年3月30日
    材料跨考计算机专硕现状及未来规划(二)一、目前情况复试备战了三个月,初始结束就马不停蹄的开始准备了,就过年休息了三天,终于取得了不错的结果,拟录取通知出来,结果没有出乎我的意料,有学上了。努力就一定会有回报,复试成绩还算不错,整体排名还提升了40多名是有点出乎我的意料。复......
  • 【每日代码】(10/21)
    咖啡店售货。几段关于继承、抽象类的代码。如下——首先,定义一个抽象父类CoffeeabstractclassCoffee{//定义抽象父类abstractdoubleCoffee(inta);//定义抽象方法MF·1}然后,定义它的派生实体子类Natie,用它来实现Coffeepackagecn.jsu.www8;classNatie......
  • 2024年3月全新超强版本itvboxfast影视APP源码 TV+手机双端源码 新增超多功能 tvbox二
    不要拿烂大街的版本比较,没有可比性,修复大街版本所有bug,增加超多功能。这个版本堪称如意界最强,后台支持某条线路、直播指定账号输入密码观看,VIP会员专用线路,去插播视频的广告,TV端修复套餐金额设置小数点闪退,更改公告显示样式,首页轮播图新增支持显示视频,TV端和手机端分别设......
  • 20211105BouncyCastle
    1.下载jar包https://www.bouncycastle.org/latest_releases.html找了半天在官网上没找到,是找的其他的csdn的网页二级标题将下载的两个jar包拷贝到%JAVA_HOME%\jre\lib\ext目录下面3.修改配置文件%JAVA_HOME%\jre\lib\security\java.security,在末尾添加security.provider.11......
  • P8306 【模板】字典树
    原题链接题解1.建议去B站上看看动画演示,你就明白怎么回事了2.如何用代码实现呢?看完你就明白了code#include<bits/stdc++.h>usingnamespacestd;intnum=0;inttree[3000006][75]={0};intcnt[3000006]={0};chars[3000006];intans;intt,n,q;//放全局变量是为了加......
  • 网络安全(黑客)——2024自学
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • 网络安全(黑客)——自学2024
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • 黑客技术(网络安全)自学2024
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......
  • 自学(网络安全)黑客——高效学习2024
    01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有W......