Я очень новичок в Java и изо всех сил пытаюсь понять дженерики, способы их использования и синтаксис для этого.
У меня есть следующий класс
class MyCustomArray<T>{
private T[] myArray;
// Default Constructor
public ArraySet(){
this.myArray= (T[]) new Object[10];
}
// Method to get array length
public int getSize(){
return this.myArray.length;
}
... some random code
// Method to iterate
public void iterateSomehow(MyCustomArray<? extends T> collection){
// doesn't work
for(T obj: collection){...}
// doesn't work
for(int i=0; i< collection.size(); i++){
T nextObj= collection[i];
}
}
}
Это для назначения класса, которое запрещает использование стандартных классов, таких как ArrayList
. Я чувствую, что здесь что-то упущено фундаментальное , но не знаю что.
Мой подход неверен? Это просто синтаксис?
Еще немного контекста:
Моя непосредственная цель - проверить каждое значение в данном collection
объекте как таковом (псевдокод, очевидно):
for( int i=0; i < collection.length; i++ ):
value = collection[i];
if (value == badValue):
// whatever