このページでは文字列を扱うStringオブジェクトの生成方法とその使い方についてお伝えした。
標準クラスを使うときの基本を学べるので参考にしてほしい。
Stringオブジェクトの生成
Stringクラスは文字列を表す参照型の型である。
文字列は、”Hello”のようにダブルクォーテーション(“)で囲むことで表せる。
“123”のように数値を記述していてもダブルクォーテーションで囲まれていれば文字列ということになる。
参照型の場合、new演算子を使用して必要な領域をメモリ上に確保し(オブジェクトの実体の生成という)値を代入する必要がある。
Stringオブジェクトを生成する主な方法としては次の2つがある。
String 変数名 = new String(“あいうえお"); [1]
String 変数名 = “あいうえお”; [2]
一般的には参照型を使用する場合は[1]のようにnew演算子を使用してオブジェクトを生成するが、Stringクラスの場合はすでにnew演算子を利用しない便利な仕組みが準備されているため、[2]の方法でオブジェクトが生成できる。
メモリ領域を有効に使うためにも[2]の方法が推奨される。
Stringオブジェクトの生成 サンプルコード
それではサンプルコードを見ていこう。
サンプルコード
1 2 3 4 5 6 7 |
public class StringSample1 { public static void main(String[] args) { String message ; [1] message = "おはようございます"; [2] System.out.println(message); [3] } } |
実行結果
1 |
おはようございます |
サンプルコードの説明
- [1] String型の変数messageの宣言
- [2] 変数messageの初期化(※)
- [3] 変数messageの値を出力
※変数には必ず一度値を代入する必要がある。これを初期化といい、初期化されていない変数がある場合、コンパイルエラーとなり実行できない。
変数の宣言と初期化を同時に行うサンプルコード
変数の宣言と初期化を同時に行った時は次の通りだ。
サンプルコード
1 2 3 4 5 6 |
public class StringSample1 { public static void main(String[] args) { String message ="おはようございます" [1] System.out.println(message); [2] } } |
実行結果
1 |
おはようございます |
サンプルコードの説明
- [1] String型の変数messageを宣言し、初期化。
- [2] 変数messageの値を出力
参照型の変数
整数を表すint型や文字を表すchar型は基本型なので、オブジェクトを生成せずに値を代入することができる。
しかし、Stringは参照型なので、前にも記述したように、値を代入して利用するにはオブジェクトの生成が必要になる。
基本型の場合は、型の大きさが決まっているので、値を入れるべき箱(メモリの使用量)が決まっている。そのため、まず宣言された大きさの領域を確保し、その中に値を直接代入する。
参照型の場合は、実際に値が代入されるまでどのくらいの大きさのものが代入されるかわからないため、変数の領域には実際の代入されたオブジェクトがある場所のアドレス(参照値)が代入され、そのアドレスをもとに値を参照する。
まとめ
このページではStringオブジェクトの生成方法についてお伝えした。
Stringは参照型というもので、intやcharと違ってオブジェクトにしないと使えないというのは覚えておこう。
コメント