本部長は管理ができない

Salesforceに関わっているエンジニアの技術メモ。ときどきそれ以外。

コレクションの文字列化

f:id:gren_dken:20140328232050j:plain
一風堂 赤丸新味。
※本文と何ら関係ありません。


コレクションの中身を、ループを使わず展開出来ないか試したら、String#valueOfでさっくり出来た。
system#debugで出力される文字列と同じになる。


List
  • コード
List<String> tmpList = new List<String>{'Red', 'Yellow', 'Pink', 'Green', 'Purple'};
String strList = String.valueOf(tmpList);
system.debug('★List 1:' + tmpList);
system.debug('★List 2:' + strList);
  • 結果
★List 1:(Red, Yellow, Pink, Green, Purple)
★List 2:(Red, Yellow, Pink, Green, Purple)
Set
  • コード
Set<String> tmpSet = new Set<String>{'Red', 'Yellow', 'Pink', 'Green', 'Purple'};
String strSet = String.valueOf(tmpSet);
system.debug('★Set 1:' + tmpSet);
system.debug('★Set 2:' + strSet);
  • 結果
★Set 1:{Green, Pink, Purple, Red, Yellow}
★Set 2:{Green, Pink, Purple, Red, Yellow}
Map
  • コード
Map<Integer, String> tmpMap = new Map<Integer, String>{1 => 'Red', 2 => 'Yellow', 3 => 'Pink', 4 => 'Green', 5 => 'Purple'};
String strMap = String.valueOf(tmpMap);
system.debug('★Map 1:' + tmpMap);
system.debug('★Map 2:' + strMap);
  • 結果
★Map 1:{1=Red, 2=Yellow, 3=Pink, 4=Green, 5=Purple}
★Map 2:{1=Red, 2=Yellow, 3=Pink, 4=Green, 5=Purple}


コレクションのサイズが大きいと途中から省略されるので、出力サイズの検討が必要。

(~~Green, Purple, ...)