Ваш CustomArrayList
является ArrayList<Integer>
, но ArrayList<Integer>
не является CustomArrayList
.
Если вы хотите преобразовать произвольный ArrayList<Integer>
в CustomArrayList
, вы можете написать:
List<Integer> myList = new ArrayList<>();
CustomArrayList customList = new CustomArrayList(myList);
customList.customMethod();
Это потребует добавления конструктора к CustomArrayList
, который принимает Collection<Integer>
и передает его ArrayList
public ArrayList(Collection<? extends E> c
конструктору.
public CustomArrayList(Collection<Integer> c) {
super(c);
}
Обратите внимание, что экземпляр CustomArrayList
, созданный с помощью этого конструктора, является копией исходного ArrayList
, поэтому изменения в этом экземплярене будет отражено в оригинале List
.