Java中的泛型-创建泛型方法

Java中的泛型-创建泛型方法,java,arrays,generics,Java,Arrays,Generics,我想尝试创建一个通用方法,该方法采用数组、数组长度和返回数组中元素位置的元素。我是Java新手,我正在尝试学习泛型 我似乎无法得到元素的位置,我甚至不知道我是否做得对,任何建议都会很好 public class GenericsProj { public static void main(String[] args) { Integer[] intArray = {1, 2, 3, 4}; String[] stringArray = {"on

我想尝试创建一个通用方法,该方法采用数组、数组长度和返回数组中元素位置的元素。我是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);
            }
        }
    }
}
公共类GenericsProj{
公共静态void main(字符串[]args){
整数[]intArray={1,2,3,4};
String[]stringArray={“一”、“二”、“三”、“四”};
routineArray(intArray,intArray.length,4);
routineArray(stringArray,stringArray.length,“四”);
}
公共静态void routineArray(T[]数组,T长度,T元素){
System.out.println(“数组内部:+Arrays.toString(数组));
for(int i=0;i
Now
routineArray
如果元素在数组列表中,则从您的输入中为每次出现的元素打印元素,如果您想返回需要执行的元素位置,请执行
pos=i
而不是
pos=array[i]
。在这种情况下,您可以将方法的返回类型从T更改为int。

如果您想打印出数组的位置,您必须将数组[i]更改为i,数组[i]意味着您将获得包含i索引的arraylist的值。另外,您必须提到pos变量的类型。代码如下所示

if (array[i] == element) {
            int pos = i;
            System.out.println(pos);
        }

您不应将
长度设置为
T
类型,长度始终为
int
,位置也是如此,始终为
int
。除此之外,您不需要
长度参数或
pos
(并且您没有声明
pos
)。如果需要元素的索引,请打印
i
,而不是
array[i]
。另外,在比较字符串和其他对象时,请使用
.equals
而不是
=
。天哪,你们都是救生员,谢谢!!现在我将尝试创建一个大于的方法来比较两个对象,啊。