Java方法引用之---类名 :: 非静态方法

// 类 :: 实例方法
Comparator中的 int comapre(T t1,T t2)
String中的 int t1.compareTo(t2)
技巧: compare(T t1,T t2)方法的第一个参数t1,作为调用compareTo(t2)方法的对象,
Comparator com2 = String :: compareTo;
System.out.println(com2.compare(“abd”,“abm”));

// 情况三:类 :: 实例方法  (有难度)
	// Comparator中的 int comapre(T t1,T t2)
	// String中的 int t1.compareTo(t2)
	// 技巧: compare(T t1,T t2)方法的第一个参数t1,作为调用compareTo(t2)方法的对象,
	//      Comparator<String> com2 = String :: compareTo;
	//		System.out.println(com2.compare("abd","abm"));
	@Test
	public void test5() {
		Comparator<String> com1 = (s1,s2) -> s1.compareTo(s2);
		System.out.println(com1.compare("abc","abd"));

		System.out.println("*******************");

		Comparator<String> com2 = String :: compareTo;
		System.out.println(com2.compare("abd","abm"));
	}

	//BiPredicate中的boolean test(T t1, T t2);
	//String中的boolean t1.equals(t2)
	@Test
	public void test6() {
		BiPredicate<String,String> pre1 = (s1,s2) -> s1.equals(s2);
		System.out.println(pre1.test("abc","abc"));

		System.out.println("*******************");
		BiPredicate<String,String> pre2 = String :: equals;
		System.out.println(pre2.test("abc","abd"));
	}
	
	// Function中的R apply(T t)
	// Employee中的String getName();
	@Test
	public void test7() {
		Employee employee = new Employee(1001, "Jerry", 23, 6000);


		Function<Employee,String> func1 = e -> e.getName();
		System.out.println(func1.apply(employee));

		System.out.println("*******************");


		Function<Employee,String> func2 = Employee::getName;
		System.out.println(func2.apply(employee));


	}

posted @   正伯Pro  阅读(31)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示