使用&和位移进行计算,提供效率
来自于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);
}