【Apex】プリミティブ型について

スポンサーリンク
プリミティブ型について Apex

こんにちは、にいるです。

今日はApexのプリミティブ型の変数の初期値や値表示について、見ていきたいと思います。

【ヘルプ】プリミティブデータ型
【ヘルプ】データ型および変数

1.プリミティブ型とは

Apexのデータ型には、プリミティブ型とsObject型の2つがあります。
プリミティブ型には12点あり、それぞれ下記のような値を格納します。

データ型名 説明
Blob 単一のオブジェクトとして保存されるバイナリデータのコレクション
Boolean true、false、nullのみを割り当て可能
Date 特定の日
Datetime 特定の日と時刻
Decimal 小数点を含む数値
Double 小数点を含む64ビットの数値
Id 有効な18文字のレコードの識別子
Integer 小数点を含まない32ビットの数値
Long 小数点を含まない64ビットの数値
Object Apexがサポートする任意のデータ型
String 単一引用符で囲まれた文字
Time 特定の時刻

2.各データ型の初期値

それぞれのデータ型の宣言時の初期値を見ていきます。

という感じですね。
これを匿名ブロックで実行してみます。

Apexのデータ型

こんな感じで全て「null」になってますね。

Stringの宣言時に「=”;」を付けてみました。
中身は空なんですがこれは注意が必要です。

isBlankしか通らず、nullと空(”)はそれぞれ値が違うようです。

【Apex】Stringのnullチェック

ここはちゃんとコードを書く時に気をつけないといけないですね。

3.データ型の不一致

データ型が不一致の場合、代入できないことがあります

Stringに数字を入れることはできますが、Integerに文字を入れることはできません。
いくつか特定のデータ型に意図しない値を入れてみたいと思います。
 

3-1.Integer型に小数点以下の数字

「Illegal assignment from Decimal to Integer」というメッセージ付きで怒られます。

Apexのデータ型
 

3-2.Integer型に文字

「Illegal assignment from String to Integer」というメッセージ付きで怒られます。

Apexのデータ型
 

3-3.Boolean型に文字

「Illegal assignment from String to Boolean」というメッセージ付きで怒られます。

Apexのデータ型
 

3-4.Date型に数字

「Illegal assignment from Integer to Date」というメッセージ付きで怒られます。

Apexのデータ型
 

3-5.ID型に文字

「System.StringException: Invalid id: 123456789012345」というメッセージ付きで怒られます。

Apexのデータ型

 

3-6.StringとIntegerの結合

怒られはしないですが、数字と文字の場合は計算されませんので、要注意ですね。

Apexのデータ型
 

4.まとめ

いかがでしたでしょうか。
Apexを使うなら、定数、変数を当然使用します。

不一致しないデータ型に、値の代入はできないですが、「3-6.StringとIntegerの結合」などのStringに数字を入れるなど中途半端にできてしまう場合、人間が考えてる期待値が返ってこない可能性があります。

思い込みは誤りの原因にもなるので、適切にデータ型を使用できるようにしておきたいですね。

ぜひ、みなさんも書いて試してみてください。

他にも色々と標準機能やSalesforce機能について紹介しています。
そのまとめ一覧ページはこちらになりますので、よければ見てみてください。

ではでは!

Salesforce 機能別 まとめページ

コメント

タイトルとURLをコピーしました