java8之Lambda核心接口简介说明
下文笔者讲述java8中核心接口简介说明,如下所示
Lambda核心接口简介
java8四大核心函数式接口 Consumer<T> :消费接口 void accept(T t); Suppliter<T>:供给型接口 T get(); Function<T,R>:函数型接口 R apply(T t); Predicate<T> : 断言型接口 boolean test(T t);例
package com.java265.jedis.test.test2; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; 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; @SpringBootTest @RunWith(SpringRunner.class) public class LambdInterface { /** * Consumer<T> :消费接口 */ @Test public void test1() { testConsumer( 88,(x) -> System.out.println("消费"+x)); } public void testConsumer(double d, Consumer<Double> consumer) { consumer.accept( d ); } /** *Suppliter<T>:供给型接口 */ @Test public void test2() { List <Integer> i = getTest(10,() -> (int)Math.random()*88); i.forEach( (o) -> System.out.println(o)); } /** * 得到任意长度的集合 * @param i * @param supplier * @return */ public List<Integer> getTest(int i, Supplier<Integer> supplier) { List<Integer> list = new ArrayList <>( ); for(int j = 0;i<=i;++j) { Integer integer = supplier.get(); list.add( integer ); } return list; } /** *Function<T,R>:函数型接口 */ @Test public void test3() { getString( "sdfds ",(x1) -> x1.trim() ); } /** * 去掉字符串中的空格 * @param s * @param function * @return */ public String getString(String s, Function<String,String> function) { return function.apply( s ); } /** *Predicate<T> : 断言型接口 */ @Test public void test4() { List<String> sli = Arrays.asList( "dddd","fgg","gfjjg","fsdfsgdf" ); List<String> list = checkString(sli,(s) -> s.length()>5); list.forEach( (s) -> System.out.println(s)); } /** * 将满足条件的数据放在集合中 */ public List<String> checkString(List<String> list, Predicate<String> predicate) { List<String> slist = new ArrayList <>( ); list.forEach( (o) -> { if(predicate.test( o )) { slist.add( o ); } } ); return slist; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。