JAVA lambda表达式的实例

package com.webdemo;

import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;

public class Main {
	/**
	 * public class UserImpl {
			private String name;
			public String getName() {
				return name;
			}
			public void setName(String name) {
				this.name = name;
			}
		}
	 * @param args
	 */
	public static void main(String[] args) {
		UserImpl u=new UserImpl();
		//冒号 可以理解成分隔符,类或对象::方法不带括号
		userOp(u::setName);
		String name = userGet(u::getName);
		System.out.println(name);
	}
	//Supplier<T> - 没有任何输入,返回T 
	private static String userGet(Supplier<String> getFun) {
		return getFun.get();
	}
	//Consumer<T> - T作为输入,执行某种动作但没有返回值   
	private static void userOp(Consumer<String> fun) {
		fun.accept("sss");
	}
	public static void test(int  s,int i){
		call(a->call(s,i,a));
	}
	//Function<T, R> -T作为输入,返回的R作为输出 
	public static void call(Function<Integer, String> fun){
		System.out.println("result:"+fun.apply(9));
	}
	public static String call(int i0,int i,int a){
		return i0+i+a+"";
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lambda表达式Java 8引入的一种新特性,用于简化代码编写和提高代码的可读性。它可以用来替代匿名类的写法,并且可以在各种上下文中使用。 一个常见的用法是用lambda表达式实现函数式接口的方法。比如,可以使用lambda表达式来实现Runnable接口的run方法,或者实现ActionListener接口的actionPerformed方法。 另外,lambda表达式也可以用来对列表进行迭代。通过使用forEach方法,可以很方便地对列表中的元素进行操作。 与匿名类相比,lambda表达式有一些不同之处。一个关键的区别是关键字this的指向。在匿名类中,this关键字指向匿名类本身,而在lambda表达式中,this关键字指向包围lambda表达式的类。此外,lambda表达式的编译方式也不同于匿名类。Java编译器将lambda表达式编译成类的私有方法,并使用invokedynamic字节码指令来动态绑定这个方法。 因此,lambda表达式是一种更简洁、更灵活的编码方式,可以帮助我们更好地实现函数式编程的思想。它在Java编程中的应用非常广泛。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java lambda表达式10个示例](https://blog.csdn.net/Byd_chao/article/details/123534057)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值