【有书共读】Java攻略:function其他三个接口

Java.until.function包下除了Consumer接口还有Supplier接口,Predicate接口和Function接口

Supplier接口

Supplier接口不包含任何静态方法和默认方法,它只有一个抽象方法 T get()方法
Math.random方法可以赋给Supplier并随时调用
Logger lo = new Logger("...");
DoubleSupplier bs = new DoubleSupplier(){
   public double getAsDouble(){
      return Math.random;
   }
};

lo.info(bs);
Supplier主要作用就是延迟执行。
Predicate接口
Predicate主要用于流的筛选,给定一个包含若干项的流,Stream接口中的filter方法传入一个predicate并返回一个新的流它只包含给定谓词的项
如下一个查找给定长度的字符串
public String getNameofLength(int length,String... name){
   return Arrays.stream(name).filter(s->s.length()==length).collect(Collectors.joining(","))
}
以上代码就可以完成筛选给定谓词的项
Function接口
Function接口包含单一抽象方法apply他可以T类型的参数输入转换成R类型的泛型输出。
最常用的就是steam.map方法
List<String> names = Arrays.asList("Tom","Ben","Inara","Jayne");
Lsit namesLengths = names.stream().map(new Function<String,Integer>(){
   public Integer apply(String s){
      return s.length();
   }
});

#Java#
全部评论

相关推荐

05-05 21:45
已编辑
广州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务