это мой первый вопрос здесь. Я немного поиграл и создал класс с именем MyIterator, который реализует интерфейс Iterator. Все отлично работает, когда я использую его со следующим массивом:
String u [] = {"Hello", "Whats", "Up"};
MyIterator <String> strins = new MyIterator <> (u);
while(strins.hasNext()) {
System.out.print(strins.next() + " ");
}
Он отлично работает, но просто не работает, когда я использую массив Integer ..
Integer array[] [] = new Integer [3] [3];
for (int i=0; i<3; i++) {
for (int t=0; t<3; t++) {
array[i] [t] = 3;
}
}
MyIterator <Integer> it = new MyIterator <> (array);
while(it.hasNext()) {
System.out.println(it.next());
}
Вот Мои ребята из класса MyIterator:
import java.util.Iterator;
import java.util.NoSuchElementException;
public class MyIterator <E> implements Iterator <E> {
private int i;
private E a[];
public MyIterator(E a[]) {
i=0;
this.a=a;
}
public boolean hasNext() {
return i<a.length;
}
public E next() {
if (!hasNext()) {
throw new NoSuchElementException();
} else {
return a[i++];
}
}
}
В нем говорится: Невозможно определить аргументы типа для MyIterator <>
Я был бы очень рад, если бы люди могли мне помочь, так как учить java труднее, когда Университет закрыт: (
Если вы, ребята, видите другие вещи, которые можно улучшить, пожалуйста, скажите мне:)