コレクションの文字列化
一風堂 赤丸新味。
※本文と何ら関係ありません。
コレクションの中身を、ループを使わず展開出来ないか試したら、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, ...)