zoukankan      html  css  js  c++  java
  • 有关java的引用传递,直接操作对象本身。直接删除BE的value中某值

    HashSet<String> refRegions = BE.get(regionName);
       HashSet<String> values = new HashSet<String>();
       values.addAll(refRegions);
       
       if(values.contains("AllValues")){
        refRegions.clear();
        refRegions.add("AllValues");
       }
       else{
        for(String region : values){
         
         refRegions.remove(region);
         String[] regionFormat = region.split("_");
         if(regionFormat.length==2)
          region = regionFormat[1];
         else region = regionFormat[0];
         String key;
         String value;
         switch(region.length()){
         case 2: value=countryName+"_"+region;
           refRegions.add(value); break;
         case 4: value=provinceName+"_"+region;
           key=countryName+"_"+region.substring(0, 2);
           this.addClause(key, value);break;
         case 6: value=cityName+"_"+region;
           key=provinceName+"_"+region.substring(0, 4);
           this.addClause(key, value);break;
         default: value=townName+"_"+region;
           key=cityName+"_"+region.substring(0, 6);
           this.addClause(key, value);break;
         }
        }
       }

    代码中,注意,refRegions,并为初始化一个空间,而是直接作为引用指向BE中regionName对应的value。此时,操作refRegions,就是直接操作BE的value,所以:

    refRegions.remove(region);相当于,BE.get(regionName).remove(region)

    而this.addClause(key, value) 是直接操作BE得到的结果。

    从中看出,java引用传递,会直接操作对象本身

  • 相关阅读:
    iOS-UIScrollView的使用
    iOS-UILabel的使用
    iOS-UITextField的使用
    iOS-UIScreen,UIFont,UIColor,UIView,UIButton
    jQuery和ajax【“Asynchronous Javascript And XML】
    iOS-NSBundle、NSArray、NSDictionay
    iOS-UINavigationController多控制器管理
    iOS-NSNotification本地推送、远程推送
    iOS-MJRefresh框架
    苹果电脑:快捷键使用
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205540.html
Copyright © 2011-2022 走看看