No.1ベストアンサー
- 回答日時:
javaでは文字列は全てStringクラスのインスタンスとなります。
たとえば、文字列"abc"の長さを取得する場合
int length = "abc".length();
と記述できるのはそのためです。
> (1)一つのStirngオブジェクトが作成されます。
以下のプログラムを実行すると"true"と表示されます。
String s1 = "abc";
String s2 = "abc";
System.out.println((s1 == s2));// 同じオブジェクトなのでtrue
つまり、"abc"という内容のStringクラスのインスタンスがシステム上に
1つだけ存在し、s1とs2は同じオブジェクトを参照していることになります。
一方、s2をnew String("abc")とした場合、"abc"という文字列を持つ
新しいStringオブジェクトを明示的に生成することになるので
以下のプログラムを実行すると"false"と表示されます。
String s1 = "abc";
String s2 = new String("abc");
System.out.println((s1 == s2)); // 違うオブジェクトなのでfalse
> (2)二つのStringオブジェクトが作成されます。
String s2 = new String("abc"); はシステム上にある"abc"という内容の
Stringクラスのインスタンスからs2を明示的に作成しているので
2つのオブジェクトを作成したことになります。
この回答へのお礼
お礼日時:2004/01/18 17:45
親切にありがとうございます。
String s1 = "abc";
String s2 = "abc";
の時にs1==s2でtrueになるとは!
とても勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) Excel VBAについて、 フォルダ内のファイルを全て開きたい場合、 FSOを使えば、Dirは使わ 1 2023/01/27 13:18
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
時間帯判定をする。
-
C#でフォームのオブジェクト名...
-
オブジェクト名をforループ内で...
-
ワイルドカード<?>と型パラメー...
-
オブジェクトレベルとメタレベル
-
VBAでvlookup関数から、別シー...
-
C# Proxyを通してブラウザを開...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのオブジェクトの値を保持し...
-
Vbで通常使用するプリンターを...
-
COMコンポーネントって何?
-
VBAのWindowオブジェクトとWork...
-
CFileDialogでフォルダだけを選...
-
Rangeオブジェクトを一時的に作...
-
テキストセグメントについて
-
printerオブジェクトでのテキス...
-
newは明示的にした方が良いのか?
-
【Java】入力した西暦→和暦に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
ワイルドカード<?>と型パラメー...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
C#でフォームのオブジェクト名...
-
LISTBOXの内容が更新されま...
-
Object型からDouble型へのキャスト
-
JAVAからHTMLへ値を返す方法
-
COMコンポーネントって何?
-
ビジュアルC++でボタンの有...
-
戻り値がクラスオブジェクト
-
VBA 同じ名前のオブジェクトを...
-
ASP.net 教えてください!!(...
-
Vbで通常使用するプリンターを...
-
newは明示的にした方が良いのか?
-
CoCreateInstanceでエラーになる。
-
オブジェクトレベルとメタレベル
-
bmp画像をjpegやpng画像に圧縮...
-
Accessの連結・非連結オブジェ...
おすすめ情報