JDK8新特性之一Lambda】的更多相关文章

JDK8的新特性之一Lambda能将函数作为方法里面的参数使用. /** * JDK8新特性Lambda */ public class Test { public static void main(String[] args) { new Thread(new Runnable() { //使用每个匿名内部类的时候,有部分代码是必须公用的,所有有省略的空间 @Override public void run() { } }); new Thread(()->{ //由匿名内部类简化成Lambd…
函数式接口 函数式接口是1.8中的新特性,他不属于新语法,更像是一种规范 面向对象接口复习 在这里先回顾一下面向对象的接口,创建接口的关键字为interface,这里创建一个日志接口: public interface LogService { void info(); } 众所周知,Java中的接口是不能直接创建实例的,因为他的抽象方法没有得到实现: 当我们想要创建接口实例的时候一般都通过实现类来获取实例: public class LogServiceImpl implements LogS…
本文分两部分: 语法简单说明 lambda的使用 注:这两部分内容均以类+注释的方式进行说明,并且内容均来自官方教程(https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html). 第一部分: /** * 语法说明类 * * lambda表达式包含下面几个要素: * 1.逗号分隔的参数列表,如CheckPerson.test(Person p),其中p表示一个Person的对象实例 * 2.向右箭头 →,…
Lambda表达式主要是替换了原有匿名内部类的写法,也就是简化了匿名内部类的写法.lambda语法结构: (参数1,参数2...)->{重写方法的内容,不定义方法名} 先看一个使用匿名内部类定义一个新线程的方法: @Test public void test1(){ new Thread(new Runnable() { @Override public void run() { for(int x=0;x<100;x++){ System.out.println("run...&q…
//函数式接口:只有一个抽象方法的接口称为函数式接口. 可以使用注解 @FunctionalInterface 修饰 @FunctionalInterface public interface MyFun { public Integer getValue(Integer num); } import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; import java.util.List;…
1.java bean public class Employee { private int id; private String name; private int age; private double salary; public Employee() { } public Employee(String name) { this.name = name; } public Employee(String name, int age) { this.name = name; this.a…
使用lambda表达式的延迟加载特性对代码进行优化:…
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; import org.junit.Test; /* * J…
Lambda表达式,案例一:new Thread(() -> System.out.println("thread")); Lambda表达式,案例二:由参数/箭头和主体组成: (Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight()); 之前的代码形式: Comparator<Apple> byWeight = new Comparator<Apple>() { public i…
大家对java接口Comparator和Comparable都不陌生,JDK8里面Comparable还和以前一样,没有什么改动:但是Comparator在之前基础上增加了很多static和default方法.本文主要结合JDK的stream编程,学习下Comparator.阅读本文需要一些前置知识,可以参考如下文章. JDK8新特性:接口的静态方法和默认方法 http://blog.csdn.net/aitangyong/article/details/54134385 JDK8新特性:函数式…