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服务器配置