у меня была та же проблема, i (удаленная «ng-model») изменила это:
<select ng-model="mapayear" id="mapayear" name="mapayear" style=" display:inline-block !important; max-width: 20%;" class="form-control">
<option id="removable" hidden> Selecione u </option>
<option selected ng-repeat="x in anos" value="{{ x.ano }}">{{ x.ano }}
</option>
</select>
на это:
<select id="mapayear" name="mapayear" style=" display:inline-block !important; max-width: 20%;" class="form-control">
<option id="removable" hidden> Selecione u </option>
<option selected ng-repeat="x in anos" value="{{ x.ano }}">{{ x.ano }}
</option>
</select>
теперь работает, но в в моем случае это было причиной, когда я удалил эту область из ng.controller, проверьте, не выполнил ли u то же самое.
Разница между созданием объекта и созданием массива заключается в следующем:
new ArrayList<String>()
указывают на вызов конструктора. anewarray
, multianewarray
и newarray
. То, что у классов массивов нет конструкторов, можно продемонстрировать, выполнив
System.out.println(int[].class.getConstructors().length);
, который возвращает 0.
В конце концов, это сводится к решениям, которые разработчики языков приняли более 20 лет назад, и на которые повлияло решение по проектированию из других существующих языков (например, C ++).
Массивы не могут быть созданы так же, как создание ArrayList. Как сказал пользователь 207421, «Массивы предназначены для инициализации таким способом с помощью [] ». (например)
ArrayList aList = new ArrayList(); // It is valid
Arrays aArr = new Arrays();// It is invalid. Since there is no public constructor in java.util.Arrays
Исходный код: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/be44bff34df4/src/share/ classes / java / util / Arrays.java
C & amp; Языки C ++ используют то же самое [] для инициализации массива. Так что Java тоже следующая.