Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

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

#java


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

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

    


Ответы

Ответ 1



Согласно спецификации An array initializer creates an array and provides initial values for all its components. Инициализатор массива создаёт массив и задаёт начальные значения для всех его компонентов. разницы между этими двумя строками не будет

Ответ 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"}; } } Разницы нет, компилятор просто сам подставит определение

Комментариев нет:

Отправить комментарий