java之Function、Consumer和Predicate用法及区别

更新时间:2023-05-16 18:45:13 阅读: 评论:0

java之Function、Consumer和Predicate⽤法及区别⾸先参数是函数式接⼝类型的⼊参时,这个⼊参类型可以是lamda表达式代替。
1.Function:传⼊⼀个类型值返回⼀个类型值
源码:
@FunctionalInterface
public interface Function<T, R> {
/**
木兰剑
* Applies this function to the given argument.
*
* @param t the function argument
* @return the function result
*/
R apply(T t);
.......
}
⽰例⼀:
Function<String,String> function=new Function() {
@Override
public Object apply(Object o) {
return o;
}
};
String str1=function.apply("aaa");
System.out.println(str1);
⽰例⼆:向城
public static String validateValue(String name,Function<String,String> function){
return function.apply(name);
}
public static void main(String[] args){
String name="";
System.out.println(validateValue(name,inputStr -> inputStr.isEmpty()?"不能为空":inputStr));
}
inputStr相当于 apply⽅法的⼊参,inputStr.isEmpty()?"不能为空":inputStr相当于apply⽅法的实现(Lamda表达式)。以下同理。
2.Consumer: 传⼊⼀个类型值,没有返回值
源码:
@FunctionalInterface
public interface Consumer<T> {
/**
* Performs this operation on the given argument.
*
* @param t the input argument
*/
void accept(T t);
...
}
海贼王维尔戈
⽰例:
public static void main(String[] args){
学科专业分类目录String name="aaa";
Consumer<String> consumer=new Consumer() {
保持清洁@Override
public void accept(Object o) {
System.out.println(o+"===");
}
};
consumer.accept(name);
}
3.Predicate:⼀般⽤于做判断,返回boolean类型
源码:
@FunctionalInterface
public interface Predicate<T> {
/**
* Evaluates this predicate on the given argument.
*
* @param t the input argument
* @return {@code true} if the input argument matches the predicate,    * otherwi {@code fal}
*/
boolean test(T t);
.
..
恩施风景}
⽰例⼀:
String name="bbb";
Predicate<String> predicate=new Predicate() {
@Override
public boolean test(Object o) {
return o.equals("aaa");
}
约客古诗
};
System.out.st(name));
印画
⽰例⼆:
public static boolean validateValue(String name,Predicate<String> predicate){
st(name);
}
public static void main(String[] args){
String name="aaa";
System.out.println(validateValue(name,inputStr -> inputStr.equals("aaa")? true:fal)); }

本文发布于:2023-05-16 18:45:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/657500.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   表达式   返回   参数   风景   恩施
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图