No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
コレクションキャスト
Apex のコレクションには実行時に宣言される型が存在するため、Apex ではコレクションキャストを許可しています。
コレクションは、Java で配列をキャストするのと似た方法でキャストされます。たとえば、CustomerPurchaseOrder クラスが PurchaseOrder クラスの子である場合、CustomerPurchaseOrder オブジェクトのリストを PurchaseOrder オブジェクトのリストに割り当てることができます。
CustomerPurchaseOrder リストが PurchaseOrder リスト変数に割り当てられると、そのインスタンスが最初は CustomerPurchaseOrder のリストとしてインスタンス化されるため、CustomerPurchaseOrder オブジェクトのリストに再度キャストすることができます。このようにインスタンス化された PurchaseOrder オブジェクトのリストは、PurchaseOrder オブジェクトのリストに CustomerPurchaseOrder オブジェクトのみが含まれている場合でも、CustomerPurchaseOrder オブジェクトのリストにキャストできません。
CustomerPurchaseOrders オブジェクトのみを含む PurchaseOrder リストのユーザが PurchaseOrder の非 CustomerPurchaseOrder サブクラス (InternalPurchaseOrder など) を挿入しようとすると、実行時例外が発生します。これは、Apex のコレクションには実行時に宣言される型が存在するためです。