有趣、高效的编程示例

使用&和位移进行计算,提供效率

来自于org.apache.solr.common.cloud.ZkNodeProps类中的makeMap方法

public static Map<String,Object> makeMap(Object... keyVals) {
		//判断参数个数是偶数
	    if ((keyVals.length & 0x01) != 0) {
	      throw new IllegalArgumentException("arguments should be key,value");
	    }
	    //将参数个数除以2
	    Map<String,Object> propMap = new LinkedHashMap<>(keyVals.length>>1);
	    for (int i = 0; i < keyVals.length; i+=2) {
	      propMap.put(keyVals[i].toString(), keyVals[i+1]);
	    }
	    return propMap;
	  }

按顺序浅复制一个MAP对象

来自于org.apache.solr.common.cloud.ZkNodeProps类中的shallowCopy方法

  /** Returns a shallow writable copy of the properties */
  public Map<String,Object> shallowCopy() {
    return new LinkedHashMap<>(propMap);
  }


你可能感兴趣的:(示例,有趣,高效)