Java 函数式接口以及Lambda举例
2017-06-23 18:31
363 查看
package com.company; public class Main { public static void main(String[] args) { Main main = new Main(); main.test(); } public void test() { Button button = new Button(); //传统写法 /* button.SetActionListener(new ActionListener(){ @Override public void actionPerformed(Event e) { System.out.println(e.getName()); } }); */ // Java Lambda用法 // 可以简化代码,使表达更清晰 button.SetActionListener((e) -> { System.out.println(e.getName()); }); Event e = new Event(); e.setName("click"); button.OnClick(e); } @FunctionalInterface interface ActionListener { void actionPerformed(Event e); } class Event{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } class Button { private ActionListener actionListener; public void SetActionListener(ActionListener actionListener) { this.actionListener = actionListener; } public void OnClick(Event e) { actionListener.actionPerformed(e); } } }
相关文章推荐
- Java 8 函数式接口、lambda表达式、方法以及构造器引用
- java8新特性lambda表达式, 函数式接口以及Steam流和新的日期时间例子代码
- Java8 新特性----函数式接口,以及和Lambda表达式的关系
- Java8 Lambda - Functioanl Interface 函数式接口
- Lambda&Java多核编程-5-函数式接口与function包
- Java SE8函数式接口与Lambda表达式
- Kotlin学习与实践 (九)带接收者的lambda及Java的函数式接口
- java8学习之Lambda表达式初步与函数式接口
- Java8 新特性之一---------Lambda表达式和函数式接口
- java 函数式接口与lambda表达式的关系
- java8 Lambda表达式的新手上车指南(1)--基础语法和函数式接口
- java8新特性(一)之Lambda表达式和函数式接口
- Lambda&Java多核编程-5-函数式接口与function包
- Lambda&Java多核编程-5-函数式接口与function包
- Lambda&Java多核编程-5-函数式接口与function包
- Java学习笔记-Lambda表达式及內建函数式接口
- Lambda&Java多核编程-5-函数式接口与function包
- Lambda&Java多核编程-5-函数式接口与function包
- Lambda&Java多核编程-5-函数式接口与function包
- java8 默认带的lambda 泛型函数式接口总结