- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:インスタンス?new?オブジェクト? の意味)
インスタンス?new?オブジェクト? の意味
このQ&Aのポイント
- インスタンス?new?オブジェクト? の意味についてわかりません。String型の配列saがnew String[3]となっている理由を知りたいです。
- C言語でint a[5]なら、int型のサイズの分だけ5つのメモリが確保されます。一方、String[] sa = new String[3]はどのような意味を持っているのでしょうか?newは何をしていて、その役割は何なのでしょうか?
- String型の配列sa = new String[3]の意味が分かりません。newは何を示しているのでしょうか?また、String[3]とは具体的にどのような役割を果たすのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#161640
回答No.1
>String 型 というのは特にサイズが決まっていませんよね。 Stringは、オブジェクトです。オブジェクトは変数に「参照」が渡されます。(要するに、Cのポインタに相当するもの) つまり、new String [3] は、Stringを3つ保管する配列ではなく、Stringの参照を3つ保管する配列です。 ちなみに、Javaでは配列もオブジェクトです。配列は、オンデマンドクラス(実行時にその場で生成されるクラス)で、newを使っているのはそのためです。すなわち、Stringの参照を管理する要素数3つの一次元配列クラスのインスタンスをnewしているわけですね。
お礼
int型でも配列のときnewをするのはそのためだったんですね。 ありがとうございました。