В первом фрагменте кода Argument
определен как параметр типа.
public class Argument<T> {
public ArrayList<String> Args;
Во втором фрагменте кода используется Argument
, но аргумент типа отсутствует.
private ArrayList<Argument> argumentList_;
// ...
for (Argument argument : argumentList_) {
ArrayList<Argument>
- это редкий тип (реже (?) Известный как частичный необработанный тип - тип с необработанным аргументом типа). Поведение которых является странным.
Простое исправление - это подстановочный знак.
private ArrayList<Argument<?>> argumentList_;
// ...
for (Argument<?> argument : argumentList_) {