Java8的lambda表达式学习记录—lambda练习题
1)调用 Collection.sort() 方法,通过定制排序比较两个 Emp (先按年龄比较,年龄相同再按姓名比),使用 Lambda 作为参数传递.
2.1)声明函数式接口,接口中声明抽象方法,public String getValue(String str);
2.2)声明类 TestLambda,类中编写方法使用接口作为参数,将一个字符串转换成大写,并作为方法的返回值.
2.3)再将一个字符串的第2个和第4个索引位置进行截取子串.
3.1)声明一个带两个泛型的函数式接口,泛型类型为<T, R> T为参数,R为返回值.
3.2)接口中声明对应的抽象方法.
3.3)在 TestLambda 类中声明方法,使用接口作为参数,计算两个 long 型参数的和.
3.4)在计算两个 long 型参数的乘积.
问题一:
public class Emp {
private String name;
private int age;
private double salary;
}
public class test {
List<Emp> emps = Arrays.asList(
new Emp("张三", 18, 9999.99),
new Emp("李四", 20, 7777.77),
new Emp("王五", 36, 5555.55),
new Emp("赵六", 50, 3333.33),