Java有参的Lambda表达式!

本文展示了Java中如何使用Lambda表达式实现函数式接口,包括两数的乘法、减法操作,并通过定义多个函数式接口实现不同运算。此外,还介绍了如何创建并使用自定义的函数式接口,以及如何利用Lambda简化代码,实现输出方法的调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java有参的Lambda表达式!

public class Main {
	
	// 首先定义一个函数式接口,它的返回值是int,两个参数也是int
	interface Shi{
		int func(int a, int b);
	}
	
	// 然后定义一个方法,来接收参数并输出结果。
	private static void suan(Shi shi, int a, int b) {
		System.out.println(shi.func(a, b));
	}
	
	public static void main(String[] args) {
		
		
		// 实现Shi,让他能够计算两数相乘的结果,并传递参数2和4
		suan((a, b) -> a * b, 2, 4); // 8
		// 实现Shi,让他能够计算两数相减的结果,并传递参数6和3
		suan((a, b) -> a - b, 6, 3); // 3
		
		// 定义一个式子add,作用是将两数相加
		// 和一个式子divide,作用是将两数相除
		Shi add = (a, b) -> a + b, divide = (a, b) -> a / b;
		// 方便使用add方法传入6和7,以及使用divide方法传入6和3
		suan(add, 6, 7); // 13
		suan(divide, 6, 3); // 2
		
		// 或者你也可以这样写
		System.out.println(add.func(6, 7)); // 13
		
		// 这个是什么?请往下看!
		My.printInt.print(add.func(2, 3)); // 5
		You.printInt.print(divide.func(8, 2)); // ***4***
		
		My.printDouble.print(3.14); // 3.14
		You.printDouble.print(3.1415926); // ***3.1415926***
		
		My.print.print("asd"); // asd
		You.print.print("gff"); // ***gff***
		
		my.print("abs"); // abs
		you.print(3.14); // ***3.14***
		
	}
	
	interface PrintInt {
		void print(int a);
	}
	
	interface PrintDouble {
		void print(double a);
	}
	
	interface Print {
		void print(Object a);
	}
	
	private static Print my = a -> System.out.println(a);
	private static Print you = a -> System.out.println("***" + a + "***");
	
	static class My {
		
		private static Print print = a -> System.out.println(a);
		private static PrintInt printInt = a -> System.out.println(a);
		private static PrintDouble printDouble = a -> System.out.println(a);
		
	}
	
	static class You {
		
		private static Print print = a -> System.out.println("***" + a + "***");
		private static PrintInt printInt = a -> System.out.println("***" + a + "***");		
		private static PrintDouble printDouble = a -> System.out.println("***" + a + "***");
	}
	
	
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值