将列表转换为映射< Id、字符串>



我想将下面的查询保存为Map<Id,>就像下面这句话:

Map<Id, String> queuesMap = new Map<Id, String> ([SELECT Id, DeveloperName
FROM Group
WHERE Type = 'Queue' ]);

但是,由于某种原因(?),当在"执行匿名窗口"中测试这个时,我得到了这个错误:

Line: 1, Column: 29
Invalid initializer type List<Group> found for Map<Id,String>: expected a Map with the same key and value types, or a valid SObject List

在做一些尝试/错误时,我尝试了以下操作,没有返回任何错误:

Map<Id, Group> queuesMap = new Map<Id, Group> ([SELECT Id, DeveloperName
FROM Group
WHERE Type = 'Queue' ]);

我需要有一个Map<Id,>因为,最终,我的代码有一个顶点方法返回与提供的String(提供给该方法)配对的键。

如何将上述查询(List)的结果存储到Map<Id,>中?

谢谢。

Map<Id, String> queuesMap = new Map<Id, String>();
for(Group g : [SELECT Id, DeveloperName FROM Group WHERE Type = 'Queue']){
queuesMap.put(g.Id, g.DeveloperName);
}

最新更新