当前位置: 首页 > news >正文

Lambda方法引用

1、体验方法引用

  • 在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作
  • 那么考虑一种情况:如果我们在Lanbda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再重复逻辑呢?
  • 答案更定是没有必要
  • 那我们又是如何已经存在的方案的呢?
  • 这就是我们要讲解的方法引用,我们是通过方法引用来使用已经存在的方案

1.1、需求

  1. 定义一个接口(Printable):里面定义一个抽象方法:void printString(String s);
  2. 定义一个测试类(PrintableDemo),在测试类中提供两个方法一个方法是:usePrintable(Printable p),一个方法是主方法,在主方法中调用usePrintable方法
package com.lambda;public class PrintableDemo {public static void main(String[] args) {//        usePrintable(new Printable() {
//            @Override
//            public void printString(String s) {
//                System.out.println(s);
//            }
//        });//        usePrintable((String s) -> System.out.println(s));//        usePrintable((s) -> System.out.println(s));//        usePrintable(s -> System.out.println(s));//方法引用符    ::usePrintable(System.out::println);//爱生活爱Java}public static void usePrintable(Printable p) {p.printString("爱生活爱Java");}}interface Printable {void printString(String s);
}

http://www.lryc.cn/news/151071.html

相关文章:

  • TCP协议报文
  • C# 如何将使用的Dll嵌入到.exe应用程序中?
  • 【LeetCode】剑指 Offer Ⅱ 第5章:哈希表(6道题) -- Java Version
  • x86 汇编手册快速入门
  • WPF C# Binding绑定不上的解决情况
  • 【UE 材质】实现方形渐变、中心渐变材质
  • PHP旅游管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页
  • java内存模型讨论及案例分析
  • 对战ChatGPT,创邻科技的Graph+AI会更胜一筹吗?
  • 9月2日,每日信息差
  • uni-app之android项目云打包
  • C++的智能指针和可变参数模板详解
  • Docker及常用数据库安装
  • 前端使用 JavaScript 检测用户是否在线的6种方法
  • Windows下Redis的安装
  • SpringBoot第45讲:SpringBoot定时任务 - Timer实现方式
  • 01背包(换汤不换药)
  • c++ folly::baton
  • 05.sqlite3学习——DML(数据管理:插入、更新、删除)
  • Netty-ChannelPipeline
  • 从入门到精通,30天带你学会C++【第六天:与或非三兄弟和If判断语句(博主目前最长文章,2514字)】(学不会你找我)
  • 如何快速找出占用空间最大的文件?
  • 算法:分治思想处理归并递归问题
  • 小白学Go 基础02-了解Go语言的诞生与演进
  • python中如何将十进制转成二进制
  • 数据结构--5.0.1图的存储结构
  • 解决win10 wsl子系统安装的ubuntu环境中lsof,netstat命令查看端口没有任何输出的问题
  • 【OpenFeign】OpenFeign结合Hystrix和Sentinel实现熔断降级
  • 软件工程(十) 需求工程之需求开发与管理
  • C++网狐服务器引入开源日志库spdlog