有没有一种方法可以在不需要第二个变量的情况下在地图中递增一个值?
比如说,这个不能用,它返回 "Initial term of field expression must be a concrete SObject:"。
counts = new Map<string,integer>();
counts.put('month_total',0);
counts.put('month_total',counts.get['month_total']++);
它返回 "Initial term of field expression must be a concrete SObject: MAP"
而不是我需要做的。
counts = new Map<string,integer>();
counts.put('month_total',0);
integer temp = 0;
temp++;
counts.put('month_total',temp);
有什么方法可以在不需要额外变量的情况下进行递增?
替换
counts.put('month_total',counts.get['month_total']++);
与
counts.put('month_total',counts.get('month_total')++);
List<String> lststrings = new List<String>{'key','wewe','sdsd','key','dfdfd','wewe'};
Map<String,Integer> mapval = new Map<String,Integer>();
Integer count = 1;
for(string str : lststrings){
IF(mapval.containsKey(str)){
mapval.put(str,mapval.get(str)+1);
}
else{
mapval.put(str,count);
}
}
system.debug('value of mapval'+mapval);