SalesforceのStringクラスとは?

SalesforceのStringクラスとは、Apex言語のプリミティブデータ型の文字列型クラスです。SalesforceのStringクラスは、一部Javaの標準メソッドを提供しており、JavaのStringクラスに似ています。
一方で、JavaのStringクラスと異なる点もありますので、次の項目よりSalesforceのStringクラスの特徴を解説します。
SalesforceのStringクラスの特徴

それでは、SalesforceのStringクラスの特徴を解説します。JavaのStringクラスとの違いも交えながら、解説しますので、ぜひ参考にしてください。
文字列は’(シングルクォーテーション)で囲う
JavaのStringクラスに代入する文字列は、”(ダブルクォーテーション)で囲いますが、SalesforceのStringクラスでは、’(シングルクォーテーション)で囲みます。
例)
String str = 'おはようございます';
文字数に制限がない
SalesforceのStringクラスは、文字数に制限はありません。そのため、Stringクラスのデータが大きくならないように、ヒープサイズの制限で調整します。
sObjectのString型の項目値は、先頭・末尾の空白文字や空文字が使えない
Lightningプラットフォームデータベースに保存できるsObjectのString型の項目値には、先頭および末尾に空白文字や空文字が使用できません。
sObjectとは関係ないApexのString型の項目値では、先頭および末尾に空白文字や空文字が使用できます。
比較演算子が使える
SalesforceのStringクラスでは、==などの比較演算子を利用して文字列比較が行えます。
なお、文字列の比較結果は、大文字と小文字は区別せず、コンテキストユーザーのロケールを元に照合されます。
Stringクラスでよく利用するメソッド

SalesforceのStringクラスでは様々なメソッドが提供されています。今回は、それらのメソッドの中から、特によく利用されるメソッドを8つ厳選し、解説します。
valueOf(integerToConvert)
valueOf(integerToConvert)は、小数点を含まない数値を文字列に変換するメソッドです。valueOf()は、小数点を含まない数値以外にも日付やオブジェクトなどを文字列に変換するメソッドが提供されています。
・パラメータ
Integer 文字列に変換する数値
・戻り値
String 数値から変換された文字列
例)
Integer intValue = 22;
// 数値を文字列に変換
String sintValue = String.valueOf(intValue);
isBlank(inputString)
isBlank(inputString)は、引数の文字列が空文字、またはnullの場合、trueを返却するメソッドです。
・パラメータ
String チェック対象の文字列
・戻り値
Boolean チェック結果(空文字またはnullの場合true、それ以外の場合false)
例)
String nullStr = null;
System.assert(String.isBlank(nullStr));// trueが返却される
startsWith(prefix)
startsWith(prefix)は、メソッドを呼び出した文字列が引数の文字列と前方一致(大文字小文字を含む)する場合、trueを返却するメソッドです。大文字小文字を区別せずに前方一致の確認をしたい場合は、startsWithIgnoreCase(prefix)を利用します。
・パラメータ
String 前方一致の比較対象の文字列
・戻り値
Boolean 比較結果(引数の文字列と前方一致する場合true、前方一致しない場合false)
例)
String word = 'Hello';
// 「Hello」は引数「H」と前方一致するため、trueとなります。
System.assert(word.startsWith('H'));
endsWith(suffix)
endsWith(suffix)は、メソッドを呼び出した文字列が引数の文字列と後方一致(大文字小文字を含む)する場合、trueを返却するメソッドです。大文字小文字を区別せずに後方一致の確認をしたい場合は、endsWithIgnoreCase(suffix)を利用します。
・パラメータ
String 後方一致の比較対象の文字列
・戻り値
Boolean 比較結果(引数の文字列と後方一致する場合true、後方一致しない場合false)
例)
String word = 'Hello';
// 「Hello」は引数「o」と後方一致するため、trueとなります。
System.assert(word.endsWith('o'));
contains(substring)
contains(substring)は、メソッドを呼び出した文字列が引数の文字列と部分一致(大文字小文字を含む)する場合、trueを返却するメソッドです。大文字小文字を区別せずに部分一致の確認をしたい場合は、containsIgnoreCase(substring)を利用します。
・パラメータ
String 部分一致の比較対象の文字列
・戻り値
Boolean 比較結果(引数の文字列と部分一致する場合true、部分一致しない場合false)
例)
String word = 'Hello';
// 「Hello」は引数「e」と部分一致するため、trueとなります。
System.assert(word.contains('e'));
format(stringToFormat, formattingArguments)
format(stringToFormat, formattingArguments)は、第2引数の内容で第1引数のフォーマットを置き換えて、返却するメソッドです。
・パラメータ
String フォーマット
List
]]>