Java8的lamdba表达式怎么实现对抽象接口
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要讲解了"Java8的lamdba表达式怎么实现对抽象接口",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java8的lamdba表达式怎么实
千家信息网最后更新 2025年02月03日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 { Listemps = 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安全错误
数据库的锁怎样保障安全
剑三服务器选错了
基于测试的软件开发
龙井市档案馆网络安全整改项目
在数据库的基本理论中
手游方舟服务器进不去怎么办
魔兽世界怀旧服玩家最少的服务器
网络安全求职简历
山西公安网络安全管理处罚
轻量服务器远程连接提示密码错误
善诚网络技术有限公司
OGG提高写入数据库效率
用友t3数据库启用不了
服务器租用云主机哪个好
成都南亭网络技术有限公司
万易互联网络科技有限公司
哈弗html5数据库
泛亚网络技术上海
联通拨号服务器不响应
交通事故数据库设计
撩妹套路软件开发
互联网科技的业务
霞山定制软件开发
知行深圳网络技术
软件开发验收报告怎么写
网络安全求职简历
gii连接数据库失败
手机网络安全专项检查
网络安全的PPT制作
数据库的事物怎么用
绝地求生2手游哪个服务器稳定