函数式接口的使用、性能浪费的日志案例
函数式接口的使用
函数式接口的使用:一般可以作为方法的参数和返回值使用
定义一个方法,参数使用函数式接口
案例:
public static void show(MyFun myFun){
myFun.method();
}
public static void main(String[] args) {
// 调用show方法,方法的参数是一个接口,可以传递接了的实现类对象
show(new MyFunImpl());
// 调用show方法.方法的参数是一个接口,所以我们可以传递接口的匿名内部类
show(new MyFun() {
@Override
public void method() {
System.out.println("使用匿名匿名内部类,重写接口中的抽象方法");
}
@Override
public void method2() {
System.out.println("使用匿名匿名内部类,重写接口中的抽象方法");
}
});
}
}
性能浪费的日志案例
有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费,而Lambda表达式是研制执行的,这正好作为解决方案,提升性能
写一个日志案例:
// 定义一个方法,根据日志的级别,显示日志的方法
public static void ShowLog(int level, String message) {
// 对日志的级别进行判断.如果是1级别,那么就输出日志信息
if (level == 1) {
System.out.println(message);
}
}
public static void main(String[] args) {
// 定义三个日志
String msg1 ="hello";
String msg2 ="World";
String msg3 ="java";
ShowLog(1,msg1+msg2+msg3);
}
}
发现以上代码问题:
调用方法,传递的第二个参数是一个拼接后的字符串
先把字符串拼接好,然后在调用方法
方法中如果传递的日志等级不是1集
那么就不会如此拼接后的字符串
所以感觉字符串就白拼接了,存在资源浪费
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY