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

陕西省建设银行网站百度一下百度百科

陕西省建设银行网站,百度一下百度百科,WordPress网站文章导出导入,做网站运营需要培训吗Java过滤器模式 实现范例 过滤器模式#xff08;Filter Pattern#xff09;或允许开发人员使用不同的标准来过滤一组对象#xff0c;通过逻辑运算以解耦的方式把它们连接起来 过滤器模式#xff08;Filter Pattern#xff09; 又称 标准模式#xff08;Criteria Pattern… Java过滤器模式 实现范例 过滤器模式Filter Pattern或允许开发人员使用不同的标准来过滤一组对象通过逻辑运算以解耦的方式把它们连接起来 过滤器模式Filter Pattern 又称 标准模式Criteria Pattern 过滤器模式属于结构型模式它结合多个标准来获得单一标准 实现 创建一个Person对象、Criteria接口和实现了该接口的实体类来过滤Person对象的列表CriteriaPatternDemo使用Criteria对象基于各种标准和它们的结合来过滤Person对象的列表 范例 1. 创建一个类在该类上应用标准. Person.java package com.demo.gof; public class Person {private String name;private String gender;private String maritalStatus;public Person(String name,String gender,String maritalStatus){this.name name;this.gender gender;this.maritalStatus maritalStatus; }public String getName() {return name;}public String getGender() {return gender;}public String getMaritalStatus() {return maritalStatus;} } 2. 为标准Criteria创建一个接口 Criteria.java package com.demo.gof; import java.util.List;public interface Criteria {public ListPerson meetCriteria(ListPerson persons); }3. 创建实现了 Criteria 接口的实体类 CriteriaMale.java package com.demo.gof; import java.util.ArrayList; import java.util.List;public class CriteriaMale implements Criteria {Overridepublic ListPerson meetCriteria(ListPerson persons) {ListPerson malePersons new ArrayListPerson(); for (Person person : persons) {if(person.getGender().equalsIgnoreCase(MALE)){malePersons.add(person);}}return malePersons;} }CriteriaFemale.java package com.demo.gof; import java.util.ArrayList; import java.util.List;public class CriteriaFemale implements Criteria {Overridepublic ListPerson meetCriteria(ListPerson persons) {ListPerson femalePersons new ArrayListPerson(); for (Person person : persons) {if(person.getGender().equalsIgnoreCase(FEMALE)){femalePersons.add(person);}}return femalePersons;} }CriteriaSingle.java package com.demo.gof; import java.util.ArrayList; import java.util.List;public class CriteriaSingle implements Criteria {Overridepublic ListPerson meetCriteria(ListPerson persons) {ListPerson singlePersons new ArrayListPerson(); for (Person person : persons) {if(person.getMaritalStatus().equalsIgnoreCase(SINGLE)){singlePersons.add(person);}}return singlePersons;} }AndCriteria.java package com.demo.gof; import java.util.List;public class AndCriteria implements Criteria {private Criteria criteria;private Criteria otherCriteria;public AndCriteria(Criteria criteria, Criteria otherCriteria) {this.criteria criteria;this.otherCriteria otherCriteria; }Overridepublic ListPerson meetCriteria(ListPerson persons) {ListPerson firstCriteriaPersons criteria.meetCriteria(persons); return otherCriteria.meetCriteria(firstCriteriaPersons);}OrCriteria.java package com.demo.gof; import java.util.List;public class OrCriteria implements Criteria {private Criteria criteria;private Criteria otherCriteria;public OrCriteria(Criteria criteria, Criteria otherCriteria) {this.criteria criteria;this.otherCriteria otherCriteria; }Overridepublic ListPerson meetCriteria(ListPerson persons) {ListPerson firstCriteriaItems criteria.meetCriteria(persons);ListPerson otherCriteriaItems otherCriteria.meetCriteria(persons);for (Person person : otherCriteriaItems) {if(!firstCriteriaItems.contains(person)){firstCriteriaItems.add(person);}} return firstCriteriaItems;} }4. 使用不同的标准Criteria和它们的结合来过滤 Person 对象的列表 CriteriaPatternDemo.java package com.demo.gof; import java.util.ArrayList; import java.util.List;public class CriteriaPatternDemo {public static void main(String[] args) {ListPerson persons new ArrayListPerson();persons.add(new Person(Robert,Male, Single));persons.add(new Person(John,Male, Married));persons.add(new Person(Laura,Female, Married));persons.add(new Person(Diana,Female, Single));persons.add(new Person(Mike,Male, Single));persons.add(new Person(Bobby,Male, Single));Criteria male new CriteriaMale();Criteria female new CriteriaFemale();Criteria single new CriteriaSingle();Criteria singleMale new AndCriteria(single, male);Criteria singleOrFemale new OrCriteria(single, female);System.out.println(Males: );printPersons(male.meetCriteria(persons));System.out.println(\nFemales: );printPersons(female.meetCriteria(persons));System.out.println(\nSingle Males: );printPersons(singleMale.meetCriteria(persons));System.out.println(\nSingle Or Females: );printPersons(singleOrFemale.meetCriteria(persons));}public static void printPersons(ListPerson persons){for (Person person : persons) {System.out.println(Person : [ Name : person.getName() , Gender : person.getGender() , Marital Status : person.getMaritalStatus() ]);}} }编译运行以上 Java 范例输出结果如下 $ javac -d . src/main/com.demo/gof/CriteriaPatternDemo.java $ java com.demo.gof.CriteriaPatternDemo Males: Person : [ Name : Robert, Gender : Male, Marital Status : Single ] Person : [ Name : John, Gender : Male, Marital Status : Married ] Person : [ Name : Mike, Gender : Male, Marital Status : Single ] Person : [ Name : Bobby, Gender : Male, Marital Status : Single ]Females: Person : [ Name : Laura, Gender : Female, Marital Status : Married ] Person : [ Name : Diana, Gender : Female, Marital Status : Single ]Single Males: Person : [ Name : Robert, Gender : Male, Marital Status : Single ] Person : [ Name : Mike, Gender : Male, Marital Status : Single ] Person : [ Name : Bobby, Gender : Male, Marital Status : Single ]Single Or Females: Person : [ Name : Robert, Gender : Male, Marital Status : Single ] Person : [ Name : Diana, Gender : Female, Marital Status : Single ] Person : [ Name : Mike, Gender : Male, Marital Status : Single ] Person : [ Name : Bobby, Gender : Male, Marital Status : Single ] Person : [ Name : Laura, Gender : Female, Marital Status : Married ]
http://www.w-s-a.com/news/388772/

相关文章:

  • odoo做网站网站设置专栏有什么好处
  • 局域网内个人网站建设查询企业的网站有哪些
  • 网站建设属于技术开发吗网页制作团队
  • 做家常菜的网站哪个好哪个网站做图片外链
  • 眼科医院网站设计怎么做6深圳宝安是什么风险等级
  • 网站制作容易吗logo免费生成网站
  • 建设厅官方网站下载专区网络托管公司
  • 祥云平台官方网站网线制作实验原理
  • 把网站做成app的软件下载国外做兼职的网站有哪些
  • 网站建设 海豚弯专业的网站开发服务商
  • 那个网站有免费模板中国家装公司十大排名
  • 中铁建设集团有限公司门户网站余杭区建设规划局网站
  • 天猫网站建设的目标是什么做网站常见问题模板
  • 做php网站需要什么软件天津建设网官方网站
  • 南漳网站开发上海网站推广方法
  • 深圳seo网站大连旅顺房价
  • dede网站 地图什么做有没有做黑市网站
  • 做网站参考文献域名如何做网站
  • 怎么选择网站开发英文网站建设用途
  • 怎样做电子商务网站织梦生成手机网站
  • 公司网站建设选什么服务器网站里怎样添加关键词
  • 深圳建设局网站深业中城绿化项目营销型网站开发流程包括
  • 找销售的网站九江市建设项目服务中心
  • 东原ARC网站建设公司合肥seo网站推广外包
  • 那个网站是做房产中介的网站制作软件小学
  • 做网页怎么建站点视频解析网站
  • 做网站的系统设计网站设计论文前言
  • 做外贸网站多久更新汕头市建设局网站首页
  • 如何建设专业化的网站手机管理网站模板
  • 花生壳做网站如何用腾讯云做网站