next up previous contents
Next: String クラスの主なメソッド Up: String Previous: コマンド引数の処理

String クラスのコンストラクタ

String クラスのインスタンスを作るには、実は特別の方法があります。 といっても、当たり前すぎて、誰も特別とは思っていないかも知れませんが、 Java の世界では、ちょっと珍しいのです。

     String str = "wakkanai" ;

何が珍しいのかというと、Java では、クラスのインスタンスは、コンストラクタ を通じて生成されるのですが、この例では、コンストラクタは登場しません。 でも、次のような、コンストラクタ無しの例もあるのではと思う人がいるかも 知れません。

     int a = 10 ;
     float f = 3.14;

たしかにこれらの例では、コンストラクタは出てきていません。しかし、int も float も primitive type と呼ばれる特別の「型」なのですが、クラスでは ありません。クラスとしては、String クラスだけが、コンストラクタ無しで、 インスタンスが出来るということになります。

もちろん、String クラスには、沢山のコンストラクタが用意されています。

     String str = new String("wakkanai");

     char charArray[] = {'w','a','k','k','a','n','a','i'};
     String str = new String( charArray );

     byte byteArray[] = ......
     String str = new String( byteArray , 0 ) ;

第一の方法は、文字列をそのまま、コンストラクタに与えるものです。

第二の方法は、char の配列をコンストラクタに与えて、String インスタンス をつくっています。

第三の方法は、byteの配列から、String インスタンスを作るのですが、 コンストラクタの二番目の引数の0に注目してください。 これは、hi-byte と呼ばれるものです。



maruyama@wakhok.ac.jp