如何将StringBuilder标记与多个java字符串进行比较?

时间:2016-04-26 14:15:52

标签: java string stringbuilder

  1. 我的视频将在以下部门的全部或任何一个或任意两个或任意三个部门发布,如

    Test1,Test2,Test3,Test4等......

  2. 以编程方式我将获取视频的所有部门名称,并构建为Java StringBuilder,如下所示:

    Test1,Test2,Test3,Test4等

  3. 这些部门的隐私值为以下枚举常量之一: 公共,保护,PRIVATE。

  4. 如果我的部门是公开的,那么视频隐私就是公开的。

  5. 如果我的部门受到保护,那么视频隐私就会受到保护。
  6. 如果我的部门是私人的,那么视频隐私就是私密的。
  7. 如果我的视频在单个部门发布,我可以按照上面的说明设置视频隐私。但是,如果我的视频在多个部门发布,然后一个部门的隐私是公共的,那么另一个部门的隐私受到保护,那么我需要将其设置为受保护的,考虑到最高价值。

    如何管理所有这些条件,如:

    1. 如果隐私是公开的,私密的,受保护的,则将视频隐私设置为私人
    2. 如果隐私是公开的,公开的,受保护的,那么将视频隐私设置为像这些组合一样受到保护
    3. 以下是获取所有ID和隐私的代码

      List<Integer> newdepList = new ArrayList<Integer>();
          if(depName != null) {
              mediaVO.setDepNames(depName.toString());
              StringTokenizer st1 = new StringTokenizer(depName.toString(),",");
                  if(depName.toString().contains(",")) {
                      System.out.println("Media is assigned to more than one dep" + depName );
                      while(st1.hasMoreTokens()) {
                          depname= st1.nextToken();
                          System.out.println("depname"+depname);
                          if(depname!= null) {
                          ListResponse resp = fetchDepDetails(depname);
                              if(resp.totalCount >= 1) {
                                  for(Department dep:resp.objects) {
                                      int rootdepId = Integer.valueOf(properties.getProperty("dep.id"));
                                      if(dep.parentId == rootdepid|| dep.id == rootdepId) {
                                          newdepList.add(dep.id);
                                          //System.out.println("Department Id :::::::"+dep.id);
                                          //PrivacyType pri = fetchDepPrivacy(dep.id);
                                          //System.out.println("Privacy for the retrieved channels ----->"+pri);
                                      }
                                  }
                              }
                          }
                      }
      

      提前致谢, 沙恭达罗

1 个答案:

答案 0 :(得分:1)

也许将你的可见性放在枚举中是有意义的,你可以利用每个枚举值的.ordinal()? 那么如果你有一个部门列表 departments.stream().map(d -> d.visivility().ordinal()).min().get()

并以流畅的方式使用Visibility.values()[i]

最好

阿塔纳斯