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