Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Stringオブジェクト生成時について

Javaを5ヶ月ほど前から学習している者です。

String str = "ABC";

こうした場合"ABC"という文字列はどこに格納されているのかが、よく分かりません。自分なりに調べてみたのですがいまだに謎のままです。どなたか知っていることがありましたら、よろしくお願いします。

5

回答

4474

閲覧

5件の回答

評価

0

Stringオブジェクトの中のchar配列に格納されています。
C言語で言うなら、Stringは基本的にはchar*を持った構造体で、そのchar*の示す先に"ABC"があります。

評価

0

mioさん、ありがとうございます。どの参考書を見ても具体的な答えがわからないままでした。具体的な説明をしていただけて本当に助かりました。これからもJavaの勉強を頑張っていきたいと思います。

評価

0

たびたびすみません。つまりそのchar配列はStringクラスのメンバということなのでしょうか?

評価

0

String.java(ソースコード)を見れば一発で分かります。
以下抜粋。
----------------------------------
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence
{
    /** The value is used for character storage. */
    private final char value[];
----------------------------------

ソースコードは、sunのサイトでメンバ登録すればダウンロードできます。

評価

0

ご返答、本当にありがとうございます。さっそくsunのサイトにいってこようと思います。親切に教えてくださって本当にありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。