Различия в массивах Java

В настоящее время мне скучно, и я проводил некоторые практические тесты на Java, так как я довольно давно программировал на Java. После определенного вопроса мне теперь интересно, чем отличаются следующие:

String[] test1 = { "A", "B", "C" };
String[] test2 = new String[]{ "A", "B", "C" };
String test3[] = { "A", "B", "C" };
String test4[] = new String[]{ "A", "B", "C" };

Когда я набираю это в Java IDE, я не получаю никаких ошибок. Я не пытался скомпилировать ни один из них (хотя я в основном использовалtest2 Я в прошлом, поэтому я знаю, что один работает).

Итак, каждый из них компилируется?И если да, каковы различия (если есть)?(Являетсяtest1 лучше для производительности, чемtest2 потому что вы не делаете новыйString[]-принятия, или это все равно делается за кадром?)(Еслиtest1 такой же какtest3: Почемуtest3 а такжеtest4 существуют в Java, если это так же, какtest1 а такжеtest2? Есть ли случаи, когда использование[] за именем поля предпочтительнее над типом?)(Есть ли еще (почти аналогичные) варианты, кроме этих четырех?)(И другие вопросы, подобные этим.)

Просто хочу узнать из любопытства. Думаю, каждый день мы узнаем что-то новое.

Ответы на вопрос(2)

Ваш ответ на вопрос