0

大家好

我有一个关于 Apex 地图的小问题。我有一张地图map <String, list <Account>>。我正在尝试执行以下操作 -

需要做什么:我将一个键传递给字符串变量,然后将该字符串传递给 Map.get() 方法以获取该键的值。在这里,它没有给我正确的答案。即使我使用 System.Debug() 打印出地图,它也会以非常不同的方式打印出地图!

String Id = 'Some Id that is the key in the map';
List <Account> testList = Map.get(Id);

这没有给我相应的值,我不知道为什么!


当我输入下面的代码时,这些值会被完美地打印出来。

for(String s : Map.keySet()){
   List <Account> TestList = Map.get(s);
   System.Debug('TestList' + TestList);
}

测试列表实际上打印出它应该打印出的内容,即它打印出每个键的值,当我打印地图时它没有按预期打印出。

预期内容:我想将密钥传递给 Map.get() 方法以检索结果,但在我的情况下显然没有发生。

任何形式的帮助都非常感谢!

4

1 回答 1

1

我能想到的只有两件事是:

  • 是个案问题。要验证,请将您的密钥转换为大写:

theMap.put(stringKey.toUpperCase(), theAccountList);

  • 通过使用 Id 作为变量名(本身就是一种类型),你会得到奇怪的结果

正如其他人已经在这里提到的那样,请发布实际的代码段,以便我们可以进一步帮助或关闭此问题。

谢谢

于 2012-07-17T18:40:38.263 回答