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引用传递,会直接操作对象本身

  • 相关阅读:
    Python 异常处理
    Python File(文件) 方法
    python 文件定位
    globals() 和 locals() 函数
    python dir()函数
    python from…import* 语句
    python from…import 语句
    Python 模块
    python 匿名函数
    python 函数参数
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205540.html
Copyright © 2011-2022 走看看