我正在尝试搜索任何数据类型(Int、Strings、Chars 等)的数组,以查看是否存在与您输入的元素匹配的元素。您应该返回匹配元素的索引。有两个类被使用。
我得到的错误是:
"Cannot make a static reference to the non-static method find(Object[], Object) from the type ArraySearch"
它的建议是使方法静态,但是,这样做会给我在 Search 类中的错误:
"Cannot make a static reference to the non-static type E".
搜索类:
public class ArraySearch<E> {
public int find (E[] array, E item) {
int index = 0;
for (int i = 0; i < array.length; i++) {
if (array[i].equals(item)) {
System.out.println("There is a element " + array[i] +
" at index " + i);
index = i;
break;
}
}
return index;
}
}
跑者类:
public class ArraySearchRunner {
public static void main(String[] args) {
String[] strings = new String[]{"Jim", "Tim", "Bob", "Greg"};
Integer[] ints = new Integer[]{1, 2, 3, 4, 5};
ArraySearch.find(strings, "Bob");
ArraySearch.find(ints, 4);
}
}
在这种情况下,最好的解决方案是什么?
谢谢,