Umr001
@Umr001
php

Почему нельзя использовать ArrayList вне функции?

Почему нельзя использовать ArrayList вне функции? Понимаю, что смысла в этом мало, но вопрос назрел

import java.util.*;

public class Tmp {

    ArrayList<Integer> LI = new ArrayList<Integer>();
    LI.add(1231);
}
  • Вопрос задан
  • 342 просмотра
Решения вопроса 4
@frozen_coder
Java-developer
LI.add(1231);

В Java не функции, а методы класса, вы пытаетесь вызвать метод на поле класса вне метода, в определении класса. Да так вообще ни с чем нельзя. Если вам нужно установить начальное значение компонента, то делайте это в конструкторе.
Ответ написан
Комментировать
AxianLTD
@AxianLTD
Почему нельзя? Кто запретил?
Ответ написан
Если очень хочется, то можно так, в анонимном классе:
public class Tmp {
        ArrayList<Integer> LI = new ArrayList<Integer>() {{
            LI.add(1231);
        }};
    }


но не рекомендуется, ввиду различных побочных эффектов, например, при сериализации.
Ответ написан
@Px2
В Java класс состоит из объявлений полей и методов.
Такая запись корректна:

public class Tmp {
    ArrayList<Integer> LI = new ArrayList<Integer>();
}


Здесь объявлено поле LI и сразу инициализировано.

Вызовы методов или другие операции, должны размещаться только внутри объявлений методов. Например, так:

public class Tmp {
    ArrayList<Integer> LI = new ArrayList<Integer>();

   public void populateList() {
        LI.add(1231);
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
22 мая 2024, в 14:48
45000 руб./за проект
22 мая 2024, в 14:46
1111 руб./за проект
22 мая 2024, в 14:39
10000 руб./за проект