函数式接口习题

2023-11-10

基础题

练习一:函数式接口

  1. 定义一个函数式接口CurrentTimePrinter,其中抽象方法void printCurrentTime(),使用注解@FunctionalInterface
  2. 在测试类中定义static void showLongTime(CurrentTimePrinter timePrinter),该方法的预期行为是使用timePrinter打印系统当前毫秒值
  3. 测试showLongTime(),通过lambda表达式完成需求

 

答案

TimePrinter接口:

@FunctionalInterface
public interface CurrentTimePrinter

{
    void printCurrenTime();
}

测试类:

public class Test01 {
    public static void main(String[] args) {
        showLongTime(()->System.out.println(System.currentTimeMillis()));
    }

    public static void showLongTime(CurrentTimePrinter timePrinter){
        timePrinter.printCurrentTime();
    }
}

 

练习二:函数式接口

  1. 定义一个函数式接口IntCalc,其中抽象方法int calc(int a , int b),使用注解@FunctionalInterface
  2. 在测试类中定义static void getProduct(int a , int b ,IntCalc calc), 该方法的预期行为是使用calc得到a和b的乘积并打印结果
  3. 测试getProduct(),通过lambda表达式完成需求

 

答案

IntCalc接口:

@FunctionalInterface
public interface IntCalc {
    int calc(int a, int b);
}

测试类:

public class Test02 {
    public static void main(String[] args) {
        getProduct(2,3,(a,b)->a*b);
    }
    public static void getProduct(int a, int b, IntCalc intCalc){
        int product = intCalc.calc(a,b);
        System.out.println(product);

    }
}

练习三:静态方法引用

  1. 定义一个函数式接口NumberToString,其中抽象方法String convert(int num),使用注解@FunctionalInterface
  2. 在测试类中定义static void decToHex(int num ,NumberToString nts), 该方法的预期行为是使用nts将一个十进制整数转换成十六进制表示的字符串,tips:已知该行为与Integer类中的toHexString方法一致
  3. 测试decToHex (),使用方法引用完成需求

 

答案

NumberToString接口:

@FunctionalInterface
public interface NumberToString {
    String convert(int num);
}

测试类:

public class Test03 {
    public static void main(String[] args) {
        decToHex(999, Integer::toHexString);
    }
    public static void decToHex(int num ,NumberToString nts){
        String convert = nts.convert(num);
        System.out.println(convert);
    }
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数式接口习题 的相关文章

随机推荐

  • 哄女朋友玩的c语言编程,哄女朋友开心的小套路 逗女朋友开心的话套路

    不会玩小编为大家收集整理了哄女朋友开心的小套路 以及逗女朋友开心的话套路如果觉得不错就请收藏一下 下面咱们一起来看一下吧 1 你属什么 虎 不 你属于我 2 想让你爸妈开心吗 想啊 想就带我回家 3 我觉得所有的门都应该让你敲 为什么这么说
  • 通过配置浏览器方式解决跨域问题

    复制桌面上的谷歌浏览器快捷方式 名称改为 Google Debug 浏览器快捷图标 鼠标右键 属性 目标项的最后面 空格 然后加入下面配置 user data dir c ChromeDebug test type disable web
  • java接口回调

    接口回调 我们可以先定义一个接口 比如接口叫usb 然后再定义接口的实现者 如U盘 鼠标 风扇 接口的使用者 如电脑 测试类 Java是一门面向对象语言 一切皆对象 因此在Java中不存在回调函数这一说法的 由于Java的一切皆对象性质 从
  • FPGA时钟电路PCBlayout设计原则

    1 时钟晶振源应该尽可能放在与其连接的FPGA时钟专用引脚的临近位置 2 时钟线尽可能走直线 如果无法避免转弯走线 则使用45度线 尽量避免T型走线和直角走线 3 不要同时在多个信号层走时钟线 4 时钟走线不要使用过孔 因为过孔会导致阻抗变
  • 前端web3入门脚本二:初探dex,在dex完成一笔swap

    前言 现在市面上大多数去中心化交易所 简称dex 都是fork的uniswap的代码 名气比较大的如eth上的sushi 以及 bsc上的pancake 博主这里说的都是V2 uniswapV3在这里不做讨论 那么知道了他们的代码都是来自同
  • 出租车GPS数据处理

    提取出租车订单的OD 从大量的GPS信息中提取出每个出租车订单的起点和终点 数据是出租车GPS的散点时空数据 散点时间间隔大概在15s 取决于GPS的采样频率 因此要提取出乘客出行的OD信息 首先要定义乘客的上车时点 下车时点选取标准 然后
  • JAVA学习之路以及第一次项目实战心得

    JAVA学习之路以及第一次项目实战心得 前言 今天是2023年4月24日 突发奇想想写一篇学习心得 因为以前光顾着一直赶进度学习java 没有总结 也就不知道自己的哪些地方还有缺陷 还需要提高 如何接触到java和学习过程 我是在2021年
  • 江苏省人力资源社会保障厅 省职称办 关于做好2021年度职称评审工作的通知

    各设区市人力资源社会保障局 昆山市 泰兴市 沭阳县人力资源和社会保障局 省各有关厅局人事 职称 部门 各有关企事业单位 社会组织 根据中央和省关于深化职称制度和人才评价机制改革精神 按照 职称评审管理暂行规定 人力资源和社会保障部令第40号
  • uniapp使用中出现的问题

    1 真机调试时 运行到手机 手机显示 本应用无法独立运行 需与HBuilderX搭配使用 我这里是window系统电脑连接到安卓手机 如下图 以上两个图片分别是手机和电脑显示的信息 手机和电脑就一直这样显示 就没然后了 处理方法 升级最新H
  • HTTPS 原理详解

    转自 https baijiahao baidu com s id 1570143475599137 wfr spider for pc 前言 HTTPS 全称 HyperText Transfer Protocol over Secure
  • 计算机中cat是什么命令,cat(操作系统命令)_百度百科

    本词条缺少概述图 补充相关内容使词条更完整 还能快速升级 赶紧来编辑吧 cat是操作系统命令的名称 cat命令在Unix和类Unix系统中是英语单词concatenate 意思都是连接 的缩写 作用是显示或连接多个文本文件 在Apple P
  • 无向图

    概念轰炸 图是由一组顶点和一组能够将两个顶点连接的边组成的 x y表示x到y的一条边 一条连接一个顶点和其自身的边称为自环 连接同一对顶点的两条边称为平行边 含有平行边的图称为多重图 某个顶点的度数即为依附于它的边的总数 当两个顶点通过一条
  • python之调用ffmepg实现mp3比特率修改

    效果 D python projects python learning python aduio gt ffmpeg i WELBOX mp3 b a 32k WELBOX 1 mp3 ffmpeg version 4 3 1 2020
  • 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间

    把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 题目以及要求 把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 我的实现类似冒泡排序 代码为 include
  • nginx配置图片访问路径:root和alias

    图片所在路径 www wwwroot images aaa 1 jpg 访问路径 www images mbox58 com images aaa 1 jpg 使用root location images root www wwwroot
  • 控制器分析-绘制伯德图

    控制器分析 绘制伯德图 设计控制器 需要利用伯德图工具分析控制器的相频特性与幅频特性 本文提供了两种绘制伯德图的方法 第一种是利用MATLAB内置的函数绘制 第二种是自己编写的代码 由于最开始第一种方法获得的图片属性不满意 如坐标轴字体大小
  • Java面试题整理一(反射)

    问题 简述Java中的反射使用 答 1 作用 可以通过配置文件来动态配置和加载类 以实现软件工程理论里所提及的类与类 模块与模块之间的解耦 反射最经典的应用是spring框架 2 定义 反射简单来说 就是动态加载对象 并对对象进行剖析 在J
  • 将div的宽、高按比例设置有什么效果

    在添加div时 对它的大小 宽 高 有两种设置方法 固定值和百分比 1 若div的宽高为固定值 则该div的显示效果会随着其父div的缩放而变化 如下所示 fixed width 200px height 100px background
  • 【C语言】输入三个字符串,比较其大小,最终将它们由大到小输出。利用C指针。

    题目 输入三个字符串 比较其大小 最终将它们由大到小输出 利用C指针 解题思路 定义一个二维字符数组用于存放3组字符串 再定义一个一位指针数组使其分别指向这3个字符串 编写一个函数 利用传入的指针数组 对其指向的字符串的用 选择法 进行排序
  • 函数式接口习题

    基础题 练习一 函数式接口 定义一个函数式接口CurrentTimePrinter 其中抽象方法void printCurrentTime 使用注解 FunctionalInterface 在测试类中定义static void showLo