Java 类型不适用于参数(泛型问题)

Java 类型不适用于参数(泛型问题),java,generics,Java,Generics,为什么我不能在代码中调用泛型方法?编译器说该类型不适用。这是我用Java编写的代码。我是Java新手。如果这是一个明显的问题,我道歉。请帮忙 package adnan1; import java.util.Scanner; public class myclass{ public static void main(String args[]) { int length; myclass my = new myclass(); Scanne

为什么我不能在代码中调用泛型方法?编译器说该类型不适用。这是我用Java编写的代码。我是Java新手。如果这是一个明显的问题,我道歉。请帮忙

package adnan1;
import java.util.Scanner;
public class myclass{
    public static void main(String args[]) {
        int length;
        myclass my = new myclass();
        Scanner input = new Scanner(System.in);
        System.out.println("ENTER LENGTH OF ARRAY");
        length = input.nextInt();
        int[] data1 = new int[length];
        int[] data2 = new int[length];
        int[] data3 = new int[length];
        System.out.printf("ENTER %d ELEMENTS FOR 1ST ARRAY\n",length);
        for(int i=0;i<length;i++) {
            data1[i] = input.nextInt();
        }
        System.out.printf("ENTER %d ELEMENTS FOR 2ND ARRAY\n",length);
        for(int j=0;j<length;j++) {
            data2[j] = input.nextInt();
        }
        System.out.printf("ENTER %d ELEMENTS FOR 3RD ARRAY\n",length);
        for(int k=0;k<length;k++) {
            data3[k] = input.nextInt();
        }
        my.bubblesort(data1, length);  //ERROR TYPE t[] not applicable for 
                                        //argument int[]. 
        my.selectionsort(data2, length); //ERROR TYPE t[] not applicable for 
                                        //argument int[].
        my.insertionsort(data3, length); //ERROR TYPE t[] not applicable for 
                                        //argument int[].
        input.close();
    }
    public static <t extends Comparable<t>> void bubblesort(t[] data,int length) {
        t temp = null;
        System.out.println("bubble sort");
        for(int i = 0 ; i<length-1 ; i++) {
            for(int j=0; j<length-1 ; j++) {
                if(data[j].compareTo(data[j+1])>0) {
                    temp = data[j];
                    data[j] = data[j+1];
                    data[j+1] = temp;
                }
            }
        }
        for(t z : data) {
            System.out.println(z);
        }       
    }
    public static<t extends Comparable<t>> void selectionsort(t[] data , int length) {
        int min;
        t temp = null;
        System.out.println("selection sort");
        for(int i=0;i<length;i++) {
            min = i;
            for(int j=i+1;j<length;j++) {
                if(data[j].compareTo(data[min]) > 0) {
                    min=j;
                }
            }
            temp = data[i];
            data[i] = data[min];
            data[min]  = temp;
        }
        for(t z : data) {
            System.out.println(z);
        }
    }
    public static <t extends Comparable <t>> void insertionsort(t[] data , int length) {
        int hole;
        t value;
        System.out.println("insertion sort");
        for(int i=1;i<length;i++) {
            hole = i-1;
            value = data[i];
            while(hole > -1 && data[hole].compareTo(value) > 0) {
                data[hole+1] = data[hole];
                hole--;
            }
            data[hole+1] = value;
        }
        for(t z : data) {
            System.out.println(z);
        }
    }
}
packageadnan1;
导入java.util.Scanner;
公共类myclass{
公共静态void main(字符串参数[]){
整数长度;
myclass my=新的myclass();
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入数组长度”);
length=input.nextInt();
int[]data1=新的int[length];
int[]data2=新的int[length];
int[]data3=新的int[length];
System.out.printf(“为第一个数组输入%d个元素,\n”,长度);

对于(int i=0;i
int
实际上不是对象类型,因为泛型只能应用于对象类型,所以存在冲突。您需要使用
int[]data1=new int[length]
而不是使用
Integer[]data1=new Integer[length]
(和其他数据数组)这将消除你的即时编译错误——而且,请以后不要对我们大喊大叫;)谢谢你,先生。愿上帝给你世界上所有的幸福。