Apexのデータ型は大きく分けると次の2つに分けられます。
- プリミティブデータ型
- sObject 型
プリミティブデータ型
- Integer
- Double
- Long
- Date
- Datetime
- String
- ID
- Boolean
sObject 型
- 標準オブジェクト(取引先、取引先責任者など)
- カスタムオブジェクト(XXX__cなど)
プリミティブデータ型とsObject 型の違い
プリミティブデータ型は、値によって渡されます。
sObject型は値ではなく参照が渡されます。
以下検証用のサンプルソースです。
;
上記実行時のログはこのようになります。
ログを確認するとprivateメソッドでセットした値がプリミティブ型の変数にはセットされず、sObject型の変数にはセットされていることが確認できます。
この辺がプリミティブ型とsObject型の違いになります。