首页 > 编程语言 >Java 09 函数式接口

Java 09 函数式接口

时间:2023-08-08 11:22:47浏览次数:33  
标签:function Java name age 09 接口 public User id

 

消费者 consumer

import org.junit.Test;

import java.util.function.Consumer;

public class consumer {
    public void test02(Consumer<String> consumer){
        consumer.accept("abc");
    }
    @Test
    public void f1(){
        test02(s -> System.out.println(s.length()));//3
        test02(s -> System.out.println(s.toUpperCase()));//ABC
    }
}


生产者 supplier

import java.util.function.Supplier;

public class supplier {
    public User test01(java.util.function.Supplier<User> supplier){
        return  supplier.get();
    }
    @Test
    public void f1(){
        User user = test01(() -> new User(1,"张三",18));
        User user2 = test01(() -> new User(2,"李四",19));
        System.out.println(user);
        System.out.println(user2);

    }
}

断言 predicate

import org.junit.Test;

import java.util.function.Predicate;

public class predicate {
    public boolean test02(Predicate<String> predicate){
        return predicate.test("abc");
    }


    @Test
    public void f1(){
        test02(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return s.contains("a");
            }
        });

        System.out.println(test02(s -> s.contains("a"))); //true
        System.out.println(test02(s -> s.length() == 5));// false
    }

}

转换 function

import org.junit.Test;

import java.util.function.Function;

public class function {
    public Person test01(Function<String,Person> function){
        return function.apply("宋宋");
    }

    @Test
    public void f1(){
        System.out.println(test01(s -> new Person(s)));
    }
}

实体类 User

public class User {
    private int id;
    private String name;
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public User() {
    }

    public User(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

实体类 Person
package com.example.函数式接口;

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public Person() {
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                '}';
    }
}

标签:function,Java,name,age,09,接口,public,User,id
From: https://www.cnblogs.com/oyww-2027/p/17611042.html

相关文章

  • JavaScript中16进制颜色与rgb颜色互相转换
    16进制转rgbfunctionhexToRgba(hex,opacity){if(!hex)hex='#ededed';letrgba='rgba('+parseInt('0x'+hex.slice(1,3))+','+parseInt('0x'+hex.slice(3,5))+','+......
  • 【HarmonyOS】【续集】实现从视频提取音频并保存到pcm文件功能(API6 Java)
    【关键字】视频提取类Extractor、视频编解码、保存pcm文件、getAudioTime 【背景和问题】上篇中介绍了从视频提取音频并保存到pcm文件功能,请参考文档:https://developer.huawei.com/consumer/cn/forum/topic/0209125665541017202?fid=0101591351254000314,解码步骤使用的是普通......
  • Java读取Excel中的合并单元格
    1、 Maven仓库下载导入在pom.xml中配置maven路径,指定依赖,如下:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.1</version></dependency><dependency><groupId>......
  • 遇到的问题----java Unsupported major.minor version 51.0
     Unsupportedmajor.minorversion51.0不同的JDK版本使用的major.minor不同,所以会导致这个错误。编译器运行的jdk选择版本和使用的jdk版本号应该对应。解决起来也很方便:打开exclipse中项目上的属性—javacompiler–选择一个合适的版本后重新编译即可。具体步骤解决:项目------......
  • Apipost接口自动化测试入门
    今天我们来聊一聊接口自动化测试。以往我们都是以以代码的形式编写自动化测试脚本做自动化测试,网上也有非常多的攻略,那么在不会代码的情况下该怎么做接口自动化呢,今天给大家介绍Apipost自动化测试模块,不用写代码也能做接口自动化!点击左侧菜单栏「自动化测试」按钮进入自动化测试......
  • RunnerGo配置场景时接口模式该怎么选
    在进行性能测试时,测试场景的正确配置非常关键。首先,需要根据业务场景和需求,设计出合理的测试场景,再利用相应的工具进行配置,实现自动化的性能测试。在JMeter中,用户需要自己组织测试场景,或是在同一文件中维护多个测试场景,而且每个测试场景必须单独设置各种元素,并且执行测试场景也需......
  • 数据查询解决列名和java对象属性名对不上——三种方法
    问题描述:当使用查询语句时,返回来的数据出现null值。下面是数据库映射文件代码查询语句:<selectid="selectCarById"resultType="com.powernode.mybatis.pojo.Car">select*fromt_carwhereid=#{id}</select>下面是返回查询返回数据 原因是:查询结果集的列名:id,c......
  • java日常.md
    JavaSpringSpring中进行Junit测试时,PageHelper未被消耗如果mapper被mock掉,会导致Mapper之前的PageHelper的线程存储未被消耗。导致后续出现错误。//源码//.....voidq(){PageHelper.startPage(1,1); someMapper.query();}//.....//问题单测@Mockpri......
  • JavaScript 基础(1) - 笔记
    1JavaScript基础1.1JavaScript是什么1.JavaScript(是什么?)是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。2.作用(做什么?)网页特效(监听用户的一些行为让网页做出对应的反馈)表单验证(针对表单数据的合法性进行判断)数据交互(获取后台的数据,渲染到前端)服务端编程(node.js......
  • Java HTTP请求封装的方法及实现
    JavaHTTP请求封装的方法及实现在Java开发中,我们经常需要与服务器进行数据交互,发送HTTP请求是其中常见的一种方式。为了简化开发过程,我们可以封装HTTP请求的方法,让调用者只需要关注业务逻辑而不用关心底层的细节实现。本文将介绍一种基于Java的HTTP请求封装方法及其实现。JavaHT......