この記事は新社会人のSalesforce学習記録とその他 Advent Calendar 2025の2日目の記事です。
型についてさっくりとした解説、またApex特有のsObject型を学習します。
プログラム書けるなら最初の部分は飛ばして大丈夫です。
(プログラミングやったことない方のために)データ型とは(復習)
StringとかIntegerとかそういうやつです。種類によって入れられる値が変わります。以下によく見かけるものを表で一旦まとめています。備忘録。
| 名称 | 中身 |
|---|---|
| String | 文字 |
| char | 1文字 |
| Integer | 整数 |
| Long | 整数(多め) |
| ulong | 正の整数(多め) |
| short | 整数(少ない) |
| byte | 整数(もっと少ない) |
| float | 小数(速い) |
| double | 小数(精密) |
| Boolean | ☑︎のやつ |
| Id | 文字列(id)が入る |
sObject型
本題です。salesforceのオブジェクトを格納できる型になります。
例)Accountオブジェクト格納例
Account acc =new Account(Name='testUser');
テストユーザーのアカウントができます。
項目を指定して、自動で大量に作成できます。便利。
例えば
public class createAccount{
public static void accountCreator(){
List<Account> acc=new List<Account>();
for(Integer i=0;i<5;i++){
Account newAcc=new Account();
newAcc.name='test'+i;
acc.add(newAcc);
}
Insert acc;
}
}
こんな風に作って実行すると、

ログでちゃんと実行されていることが確認できます。

Accountにもちゃんと入っていることが確認できました。
こんな感じで、Apexを使用してレコードを作成したり修正することができます。
もちろん、カスタムオブジェクトでも使うことができたりします。
Id
レコードのIdを格納できます。
レコードには一つ一つ異なるIdがついています。自動採番。
Map
<>でくくられて、2つのものを関連付けることができるものです。重複が許可されているものです。ほかの言語にもありますが、Apexでも使うことができます。
Mapを使用するとAccountをIdと紐づけてIdをもとにAccountを出せるようになります。
Map <Account,Id> accWithId =new Map <Account,Id>();
put
値を追加する際にはputを使用します。
accWithId.put(newAcc,newAcc.Id);
こんな感じで、putを使用すると2つの値を簡単に紐づけることができます。
get
片方の値から、ペアになるものを見つけることができます
Account acct = accWithId.get(XXXXXXXXXXXXXXXXXX);
//Idは18桁あります。
これで簡単にペアになっている値を取ってくることができます。
以上。
まとめ
・sObject型はオブジェクトを格納できる
・Mapで特定のデータ型同士をペアにして保管することができる
・Idはレコードに勝手に自動的に振られるもの。