Эти две строки эквивалентны, или есть разница?
String[] dirNames = new String[] {"Dir_A","Dir_B","Dir_C","Dir_D","Dir_E"};
String[] dirNames = {"Dir_A","Dir_B","Dir_C","Dir_D","Dir_E"};
Согласно спецификации
An array initializer creates an array and provides initial values for all its components.
Инициализатор массива создаёт массив и задаёт начальные значения для всех его компонентов.
разницы между этими двумя строками не будет
Давайте скомпилируем
public class Main {
public static void main(String[] args) {
String[] dirNames = new String[] {"Dir_A","Dir_B","Dir_C","Dir_D","Dir_E"};
String[] dirNames1 = {"Dir_A","Dir_B","Dir_C","Dir_D","Dir_E"};
}
}
И посмотрим скомпилированный байт код
public class Main {
public Main() {
}
public static void main(String[] args) {
String[] var10000 = new String[]{"Dir_A", "Dir_B", "Dir_C", "Dir_D", "Dir_E"};
var10000 = new String[]{"Dir_A", "Dir_B", "Dir_C", "Dir_D", "Dir_E"};
}
}
Разницы нет, компилятор просто сам подставит определение
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники