Есть ли разница в способах задания массива?

334
13 октября 2017, 13:48

Эти две строки эквивалентны, или есть разница?

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"};
Answer 1

Согласно спецификации

An array initializer creates an array and provides initial values for all its components.

Инициализатор массива создаёт массив и задаёт начальные значения для всех его компонентов.

разницы между этими двумя строками не будет

Answer 2

Давайте скомпилируем

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"};
    }
}

Разницы нет, компилятор просто сам подставит определение

READ ALSO
Не могу переписать XOR с C на Java

Не могу переписать XOR с C на Java

Здравствуйте, переписываю XOR с языка C на Java

315
Динамическое создание конструктора

Динамическое создание конструктора

В Java программе необходимо создать объект, но заранее не известно сколько и какие поля будут участвовать в конструктореЕсть ли возможность...

396
Конвертация Map в объект через Jpa

Конвертация Map в объект через Jpa

Есть Map<String, Object> с полями объектаНужно конвертировать эту мапу в объект так как это сделал бы Hibernate, используя колонки @Column(name="

294
Посчитать средний и общий бал

Посчитать средний и общий бал

Есть такой вот код, в условиях задачи сказано: Display the average and total rating of all student

264