UserByNameLike.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:1k
源码类别:

软件工程

开发平台:

Java

  1. package com.company.section4;
  2. /**
  3.  * @author cbf4Life cbf4life@126.com
  4.  * I'm glad to share my knowledge with you all.
  5.  */
  6. public class UserByNameLike implements IUserSpecification {
  7. //like的标记
  8. private final static String LIKE_FLAG = "%";
  9. //基准的like字符串
  10. private String likeStr;
  11. //构造函数传递基准姓名
  12. public UserByNameLike(String _likeStr){
  13. this.likeStr = _likeStr;
  14. }
  15. //检验用户是否满足条件
  16. public boolean IsSatisfiedBy(User user) {
  17. boolean result = false;
  18. String name = user.getName();
  19. //替换掉%后的干净字符串
  20. String str = likeStr.replace("%","");
  21. //是以名字开头,如'国庆%'
  22. if(likeStr.endsWith(LIKE_FLAG) && !likeStr.startsWith(LIKE_FLAG)){
  23. result = name.startsWith(str);
  24. }else if(likeStr.startsWith(LIKE_FLAG) && !likeStr.endsWith(LIKE_FLAG)){ //类似 '%国庆'
  25. result = name.endsWith(str);
  26. }else{
  27. result = name.contains(str); //类似于'%国庆%'
  28. }
  29. return result;
  30. }
  31. }