0

みんなこんにちは

Maps in 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

ここで考えられるのは次の2つだけです。

  • ケースの問題です。確認するには、キーを大文字に変換します。

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

  • Id を変数名 (それ自体が型) として使用すると、奇妙な結果が得られます

他の人がここで既に言及しているように、実際のコード セグメントを投稿してください。これにより、さらに支援したり、この問題を解決したりできます。

ありがとう

于 2012-07-17T18:40:38.263 に答える