実現したいこと
String[] any2 = { new String("A"), "B" };
の部分がよくわかっていないのでどうなっているのか知りたい
前提
出力結果がnull nullは
String[] any1 = new String[2];で二つの領域を確保しただけで何も入っていない。
拡張for文を使用しnullが二つ出力されることは理解できます
その後のA Bはなぜ(”A”)のように()がBにはつかずAだけに着くのかよくわからないので、なぜこうなるのか知りたい。
発生している問題・エラーメッセージ
無し
該当のソースコード
public class Main { public static void main(String[] args) { String[] any1 = new String[2]; String[] any2 = { new String("A"), "B" }; for (String s : any1) {System.out.print(s + "");} for (String s : any2) {System.out.print(s + "");} } } // 出力結果 // null null A B
試したこと
String[] any2 = { new String("A"), "B" };の表記はそもそも
String[] any2 = {"A","B"};でもよさそうなのに何か違いがあるのでしょうか?
補足情報(FW/ツールのバージョンなど)
徹底攻略Java SE 11 Silver問題集p225
Oracle Certified Java Programmer, Silver SE 11取得に向けて勉強中
プログラミング勉強中の初心者ですので至らない点が多々あるかと思いますが、よろしくお願いいたします!一応20分程度調べてわからなかった場合質問しております。
検索のやり方が悪いかもしれないのでその点にもアドバイスなどあればよろしくお願いします。