package cn.wcj.jdk8.lambda.exam;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Function;
import org.junit.Test;
import cn.wcj.jdk8.lambda.test.Emp;
/**
*
* <p>Title:LambdaTest2 </p>
* <p>Description:使用方法引用、构造引用、数组引用改造之前练习题 </p>
* <p>Company:Software College </p>
* @author SuccessKey(WangCJ)
* @date 2017年6月19日 下午5:33:39
*/
public class LambdaTest2 {
List<Emp> emps=new ArrayList<Emp>(
Arrays.asList(
new Emp("3333", "张三", 3333.33, 31),
new Emp("4444", "李四", 4444.44, 41),
new Emp("5555", "王五", 5555.55, 51),
new Emp("6666", "赵六", 6666.66, 71),
new Emp("7777", "田七", 7777.77, 71)
)
);
@Test
public void test1() {
Function<String, String> strFun=String::trim ;
System.out.println(strFun.apply("\t\t\t\t\t\t 我大软院威武!!! ")) ;
Function<String, String> strFun2=String::toLowerCase ;
System.out.println(strFun2.apply("abcdefg")) ;
Function<String,String> strFun3=str->str.substring(2, 4) ;
System.out.println(strFun3.apply("我大软院威武"));
}
@Test
public void test2(){
//大写:ctrl+shift+x
//小写:ctrl+shift+y
BiFunction<Long, Long, Long> bf=(x,y)->x*y ;
System.out.println(bf.apply(100L,200L));
BiFunction<Long, Long, Long> bf2=(x,y)->x+y ;
System.out.println(bf2.apply(100L, 200L));
}
//代码变得复杂了,只要是为了改造之前的代码,有点大材小用
@Test
public void test3(){
Collections.sort(emps, (e1,e2)->{
BiFunction<Integer, Integer, Integer> ageCp=Integer::compareTo ;
BiFunction<String, String, Integer> enameCp=String::compareTo ;
if(e1.getAge()==e2.getAge())
return enameCp.apply(e1.getEname(), e2.getEname()) ;
else
return ageCp.apply(e1.getAge(), e2.getAge()) ;
}) ;
emps.stream().forEach(System.out::println) ;
}
}
JDK8-练习题使用方法引用、构造引用、数组引用改造(五)
翻译上一篇:JQuery开发详解(四)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JDK8-方法引用 ,构造引用,数组引用(四)
方法引用 ,构造引用,数组引用
jdk jdk8-新特性 java 实例方法 类名 -
引用构造器练习
引用构造器示例
java 开发语言 算法 后端 intellij idea -
方法引用与构造器引用
方法引用与构造器引用。
java jvm 开发语言 函数式接口 构造器 -
方法引用符、引用类方法、引用对象的实例方法、引用类的实例方法及引用构造器
方法引用示例
java 开发语言 jvm 后端 数据结构 -
java8中的方法引用与构造器引用
java8中的方法引用与构造器引用
jdk8 java8 java8方法引用 方法引用与构造器引用 数组引用 -
Java8方法引用和构造器引用
方法引用方法引用的意思就是若Lambda体中的内容有方法已经实现了,我们可以使
函数式接口 抽象方法 构造器 -
Linux EMMC设备自动挂载未只读
一、/etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。 系统开机时会主动读取/etc/fstab这个文件中的内容
Linux EMMC设备自动挂载未只读 Linux fs ta b 根目录 设备名