千家信息网

Java8的lamdba表达式怎么实现对抽象接口

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Java8的lamdba表达式怎么实现对抽象接口",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java8的lamdba表达式怎么实
千家信息网最后更新 2025年12月02日Java8的lamdba表达式怎么实现对抽象接口

这篇文章主要讲解了"Java8的lamdba表达式怎么实现对抽象接口",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java8的lamdba表达式怎么实现对抽象接口"吧!

总结:lamdba表达式 精髓就是对抽象接口方法的一个实现

import org.junit.jupiter.api.Test;import java.util.Arrays;import java.util.Collections;import java.util.List;public class TestLambda {    List emps = Arrays.asList(new Employee(101, "张三", 18, 9999.99),            new Employee(102, "李四", 59, 6666.66),            new Employee(103, "王五", 28, 3333.33),            new Employee(104, "赵六", 8, 7777.77),            new Employee(105, "田七", 38, 5555.55)    );    @Test    public void test1(){        Collections.sort(emps, (x,y)->{if(x.getAge()==y.getAge()){return x.getName().compareTo(y.getName());            }else {//                return -Integer.compare(x.getAge(), y.getAge());                return x.getAge()-y.getAge();            }        });        for (Employee emp : emps) {            System.out.println(emp);        }    }@Test    public void test2(){        String str=strHandler("  哎,你是软硬都不吃  ",(x)->x.trim());        System.out.println(str);        String str1=strHandler("哎,你是软硬都不吃", (x)->x.substring(4, 6));        System.out.println(str1);    }// 用于处理字符串    public String strHandler(String str,MyFunction mf){return mf.getValue(str);    }@Test    public void test3(){        op(100L, 200L, (x,y)->x*y);    }// 用于处理两个long型数据处理    public void op(Long l1,Long l2,MyFunction2 my){        System.out.println(my.getValue(l1, l2));    }}

MyFunction2类:

public interface MyFunction2 {   public R getValue(T t1, T t2);   }

MyFunction 类:

@FunctionalInterfacepublic interface MyFunction {      public String getValue(String str);}

Employee 类:

public class Employee {   private int id;   private String name;   private int age;   private double salary;   public Employee() {   }   public Employee(String name) {      this.name = name;   }   public Employee(String name, int age) {      this.name = name;      this.age = age;   }   public Employee(int id, String name, int age, double salary) {      this.id = id;      this.name = name;      this.age = age;      this.salary = salary;   }   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 double getSalary() {      return salary;   }   public void setSalary(double salary) {      this.salary = salary;   }   public String show() {      return "测试方法引用!";   }   @Override   public int hashCode() {      final int prime = 31;      int result = 1;      result = prime * result + age;      result = prime * result + id;      result = prime * result + ((name == null) ? 0 : name.hashCode());      long temp;      temp = Double.doubleToLongBits(salary);      result = prime * result + (int) (temp ^ (temp >>> 32));      return result;   }   @Override   public boolean equals(Object obj) {      if (this == obj)         return true;      if (obj == null)         return false;      if (getClass() != obj.getClass())         return false;      Employee other = (Employee) obj;      if (age != other.age)         return false;      if (id != other.id)         return false;      if (name == null) {         if (other.name != null)return false;      } else if (!name.equals(other.name))         return false;      if (Double.doubleToLongBits(salary) != Double.doubleToLongBits(other.salary))         return false;      return true;   }   @Override   public String toString() {      return "Employee [id=" + id + ", name=" + name + ", age=" + age + ", salary=" + salary + "]";   }}

感谢各位的阅读,以上就是"Java8的lamdba表达式怎么实现对抽象接口"的内容了,经过本文的学习后,相信大家对Java8的lamdba表达式怎么实现对抽象接口这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

接口 表达式 处理 学习 内容 就是 方法 软硬 两个 字符 字符串 思路 情况 数据 数据处理 文章 更多 田七 知识 知识点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 普陀区管理软件开发业务流程 哥网交互网络技术有限公司 魔兽世界里的服务器都是独立的吗 想学网络技术好找工作吗 怀旧真银胸甲数据库 香港服务器上网稳定吗 宾馆网络安全部门名称怎么填写 库内数据库 分布式软件开发程序 小赢科技互联网金融 悦学帮网络技术有限公司 穿感器网络技术及其应用 威海酷蛙网络技术有限公司 软件开发工具教材答案 db2数据库设置归档日志 注册表改数据库 软件开发成本核算管理制度 网络安全可以分为哪几类 个人工作室可以做软件开发吗 苏仙区委网络安全和信息化 山东省济南联想服务器哪个系列好 广州博彩软件开发公司 大一计算机网络技术怎么考 国务院教师网络安全 陕西惠易行互联网科技 怎么肉鸡服务器 塔科夫服务器图片 艾斯维尔数据库文章会被检索吗 项目中服务器一般是几台 哈尔滨ipfs服务器配置
0