String
名前や住所など、テキスト値を格納する必要がある場合は、String データ型を使用します。String (文字列) は、単一引用符で囲まれた文字のセットです。たとえば、「I am a string」などです。次のコードを実行すると、文字列を作成し、変数に割り当てることができます。
1String myVariable = 'I am a string.';上の例では、変数 myVariable で表される String クラスのインスタンスを作成し、単一引用符で囲まれた文字列値を割り当てます。
String 静的メソッド valueOf() を使用すると、日付など、他の型の値から文字列を作成することもできます。次のコードを実行します。
1Date myDate = Date.today();
2String myString = String.valueOf(myDate);
3System.debug(myString);この例の出力は、今日の日付になります。たとえば、2012-03-15 です。実行日に応じた日付が表示されます。
+ 演算子は、文字列に適用すると連結演算子として機能します。次のコードでは、1 つの文字列が作成されます。
1System.debug( 'I am a string' + ' cheese');== および != 演算子は、大文字と小文字を区別しない比較演算として機能します。次のコードを実行すると、両方の比較が true を返すことを確認できます。
1String x = 'I am a string';
2String y = 'I AM A STRING';
3String z = 'Hello!';
4System.debug (x == y);
5System.debug (x != z);String クラスには、文字列の操作や問い合わせに使用できる多くのインスタンスメソッドがあります。次のコードを実行します。
1String x = 'The !shorn! sheep !sprang!.';
2System.debug (x.endsWith('.'));
3System.debug (x.length());
4System.debug (x.substring(5,10));
5System.debug (x.replaceAll ('!(.*?)!', '$1'));出力は次のようになります。
各メソッドの処理を見ていきましょう。
- endsWith メソッドは、文字列の末尾が引数に含まれる文字列と同じであるため、true を返します。
- length メソッドは、文字列の長さを返します。
- substring メソッドは、文字列のうち、1 つ目の索引引数 (0 からカウント開始) で指定された文字から、2 つ目の索引引数で指定された文字までを使って新しい文字列を作成します。
- replaceAll メソッドは、正規表現に一致する各サブ文字列を指定された置換値で置き換えます。この場合、感嘆符で囲んだテキストを照合し、一致した部分のテキストを文字列 ($1) で置き換えます。
今後のレッスンでは、値を表示するために検索条件を使用するように指示されたり、さらには System.debug を使用するように指示されたりすることはありません。適宜実行してください。