2017-10-31 20 views
-3

以下はStringのコンストラクタを呼び出します。これは"Hello"を取り込み、Stringのインスタンスを返しますか?`String s =" Hello "`は `String`のコンストラクタを呼び出しますか?

"Hello"を非コンストラクタメソッドによって暗黙的にStringインスタンスに変換しますか?

String s = "Hello"; 

ありがとうございます。

+0

https://docs.oracle.com/javase/specs/jls/se8/html/jls-3 .html#jls-3.10.5 – bcsb1001

答えて

-1

はい、Stringのコンストラクタを呼び出します。

String s = "Hi"; 

に相当します。

char data[] = {'H', 'i'}; 
String str = new String(data); 

Stringクラスの参照をチェックhere

+2

それほど真実ではありません。 'String s =" Hi "'は 'String'オブジェクトを構築しますが、事前に構築されています。したがって、2番目のコードスニペットは 'String'コンストラクタを呼び出し、評価されるたびに新しいオブジェクトを作成するため、2番目のコードスニペットと同等ではありません。 https://stackoverflow.com/questions/3297867/difference-between-string-object-and-string-literalを参照してください。 – ajb

関連する問題