当前位置: 首页 > news >正文

网站有死链怎么处理perl 网站开发

网站有死链怎么处理,perl 网站开发,wordpress编辑页面改字体颜色,wordpress鼠标特效为什么介绍Predicate 自从Java8发布以后#xff0c;代码里面就多了很多函数式的接口和代码。在流式的编程中#xff0c;我们经常会用到Predicate和其他函数#xff0c;在一些开源的代码中也会看到别人定义的Predicate方法。但其实你有没有感觉在写代码的经历中#xff0c;…为什么介绍Predicate 自从Java8发布以后代码里面就多了很多函数式的接口和代码。在流式的编程中我们经常会用到Predicate和其他函数在一些开源的代码中也会看到别人定义的Predicate方法。但其实你有没有感觉在写代码的经历中就很少会定义Predicate方法都是用在stream流中更多比如下面这段代码。今天就来学习和分享一下Predicate彻底了解和掌握Predicate的概念以及用法。 作为参考在数学中谓词也通常被理解为布尔值函数“PX{truefalse}”成为X的谓词 // Returns true if number is even; else false. PredicateInteger evenPredicate n - n % 2 0; // Returns true if age is greater than or equals to 18; else false. PredicatePerson canVote p - p.age() 18; //Stream filtering with Predicate ListPerson voters personList.stream().filter(canVote).toList();Predicate函数接口概念 我们先看下Java对Predicate的定义 表示Predicate是一个接受一个泛型参数的布尔函数返回的是true 或 false经常被用于数据的过滤: 比如stream.filter(k - k 0) 示例 场景就是过滤一个list经常会这样写 Testpublic void predicate() {ListPeople peopleList mockPeopleList();peopleList.stream().filter(people - people.getAge() 10).forEach(System.out::println);}其中filter里这个lambda表达是就是个Predicate .filter(people - people.getAge() 10)我们换一种写法如下 Testpublic void predicate() {ListPeople peopleList mockPeopleList();PredicatePeople predicate people - people.getAge() 10;peopleList.stream().filter(predicate).forEach(System.out::println);}这样比较清晰可以看到Predicate的使用方式。 什么时候使用Predicate 其实换种问法就是在日常编程中我们可以在哪里使用这些返回 true 或 false 的函数呢 我们可以使用谓词在对集合中的对象进行条件评估后从集合中筛选对象评估结果可以是 true 或 false。 例如我们可以在以下实际用例中使用谓词 找到特定日期之后出生的所有孩子特定时间范围内订购的披萨年龄大于特定岁数的员工等等…… Predicate用法 1. 简单的Predicate 如前所述谓词会评估表达式并返回布尔值。现在让我们通过一个简单的示例来看一下创建简单谓词的几个示例。 PredicateEmployee isAdult e - e.getAge() 18; PredicateEmployee isMale p - p.getGender().equalsIgnoreCase(M);2. 复杂的Predicate 我们可以通过混合两个或多个谓词来创建一个复杂的谓词。可以使用andornegate等组合 PredicateEmployee isAdultMale isAdult.and(isMale); PredicateEmployee isAdultOrMale isAdult.or(isMale);或者这样 Testpublic void predicate() {ListPeople peopleList mockPeopleList();PredicatePeople ageGrate10 people - people.getAge() 18;PredicatePeople genderMen people - people.getSex().equals(男);PredicatePeople levelLess5 people - people.getLevel() 5;peopleList.stream().filter(ageGrate10.and(genderMen).or(levelLess5)).forEach(System.out::println);}3. 反向谓词 可以使用 negate() 方法创建现有谓词的反向谓词。 PredicateEmployee isMinor isAdult.negate();4. 在Java 8 Stream中使用Predicate Predicate 是一个函数式接口可以在需要谓词的任何地方将其传递到 lambda 表达式中。例如Stream 接口中的 filter() 方法就是这样一种方法。 /*** Returns a stream consisting of the elements of this stream that match the given predicate.*/ StreamT filter(Predicate? super T predicate);示例 PredicateEmployee isMale p - p.getGender().equalsIgnoreCase(M); ListEmployee maleEmployeeList employeeList.stream().filter(isMale).toList();如果我们想使用两个参数来测试一个条件我们也可以使用 BiPredicate 类。 BiPredicateInteger, String isAdultMale (p1, p2) - p1 18 p2.equalsIgnoreCase(M); ListEmployee adultMalesList employeeList.stream().filter(x - isAdultMale.test(x.getAge(), x.getGender())).toList();总结 Predicate 提供了一种定义和使用布尔值条件作为对象的方法从而使代码更加灵活和富有表现力。
http://www.yingshimen.cn/news/130405/

相关文章:

  • wordpress网站合并平面广告图片
  • 织梦html网站地图广州自助企业建站模板
  • 赤峰公司做网站全文搜索引擎有哪些
  • 我国空间站建造软件研发和开发哪个工资高
  • 肖云路那有做网站公司网站改版对seo影响
  • 网站建设与安全网页制作公司挣钱吗
  • 宝塔没有域名直接做网站怎么弄上海中小网站建设
  • 创研科技网站彩票网站建设哪里
  • reactjs 做网站营销网站如何实现差异化
  • 无主体网站是什么意思外贸公司的优化建议
  • 如何使用云服务建设网站青岛网站建设设计
  • 惠州建设工程交易网站做seo推广一年大概的费用
  • 官方网站怎么写装饰网站设计模板
  • 网站有哪些区别是什么免费网站后台管理系统
  • 招远网站制作陕西秦地建设有限公司网站
  • 查询网站有没有备案中企动力大连分公司
  • 阿里云网站备案要多久网页设计模板html代码五四主题
  • 品牌网站建设仁術大蝌蚪室内设计相关网站
  • 蓝色 网站白银网站网站建设
  • 网站登录密码忘记了怎么办wordpress 汉化 主题
  • 西宁建设网站多少钱手机网站和微信网站有哪些
  • 上地网站建设郑州网站建设xinsu360
  • 用ps做网站设计网站开发程序介绍
  • 网站seo培训创新的中山网站建设
  • 成都网站seo分析网站源码平台
  • 学校做网站难吗网站销售怎么样
  • o2o网站建设机构汽车租赁网站怎么做
  • 建设网站技术标准网页设计作业百度云
  • 兰州网站建设推广那个网站的系统好
  • 网站建设需求范本网站tag聚合怎么做