package com.test;
import junit.framework.TestCase;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
import static org.junit.Assert.*;
/**
* @author tli2
* @createDate 2022/5/10 15:40
*/
// refer to https://www.cnblogs.com/Joyce-day-day-up/p/14001648.html
public class mainTest extends TestCase {
public void testFunction() {
//匿名内部类的写法:
// Function<String, Integer> func = new Function<String,Integer>() {
// @Override
// public Integer apply(String str) {
// // TODO Auto-generated method stub
// return Integer.valueOf(str);
// }
//
// };
//Lambda表达式
Function<String, Integer> func = (str)->{return Integer.valueOf(str);};
System.out.println(func.apply("520"));
}
public void testPredicate() {
//匿名内部类
// Predicate<Integer> predicate = new Predicate<Integer>() {
// @Override
// public boolean test(Integer t) {
// return t>20?true:false;
// }
//
// };
//Lambda表达式
Predicate<Integer> predicate = (t) -> {
return t > 20 ? true : false;
};
System.out.println(predicate.test(20));
}
public void testConsumer() {
//匿名内部类
// Consumer<String> consumer = new Consumer<String>() {
// @Override
// public void accept(String t) {
// System.out.println(t);
// }
// };
//Lambda表达式
Consumer<String> consumer = (str) -> {
System.out.println(str);
};
consumer.accept("Hello");
}
public void testSupplier() {
// Supplier<String> supplier = new Supplier<String>() {
// @Override
// public String get() {
// return "OK";
// }
//
// };
//Lambda 表达式
Supplier<String> supplier = () -> {
return "OK";
};
System.out.println(supplier.get());
}
}
【java基础】函数式接口
最新推荐文章于 2024-11-11 00:03:55 发布