【发布时间】:2021-02-18 07:33:12
【问题描述】:
我想尝试创建一个通用方法,它接受一个数组、数组的长度和一个返回数组中元素位置的元素。我是 Java 新手,正在努力学习泛型。
我似乎无法获得元素的位置,我什至不知道我这样做是否正确,任何建议都会很棒。
public class GenericsProj {
public static void main(String[] args) {
Integer[] intArray = {1, 2, 3, 4};
String[] stringArray = {"one", "two", "three", "four"};
routineArray(intArray, intArray.length, 4);
routineArray(stringArray, stringArray.length, "four");
}
public static <T> void routineArray(T[] array, T length, T element) {
System.out.println("Inside the array: " + Arrays.toString(array));
for (int i = 0; i < array.length; i++) {
if (array[i] == element) {
pos = array[i];
System.out.println(pos);
}
}
}
}
【问题讨论】:
-
你不应该使用
T类型的length,长度总是int,同样的位置,永远是int。 -
除此之外你还会遇到stackoverflow.com/questions/513832/…
-
无论如何你都不需要
length参数或pos(而且你还没有声明pos)。如果你想要元素的索引,打印i而不是array[i]。此外,在比较字符串和其他对象时,请使用.equals而不是==。 -
天哪,你们都是救生员,谢谢!!现在我将尝试创建一个大于方法来比较两个对象,AHH。