请编写一个方法,实现数组指定位置的交换,这里调reverse方法时为什么会报错呢?

解决方案 »

  1.   

    java 不支持泛型类型的数组
      

  2.   


    public static void main(String[] args) {
    Object[] arr=new Object[]{1,2,3,4};
    new Test1().reverse(arr, 1, 2);

    }
    public void reverse(Object[] arr,int p1,int p2){
    Object temp=arr[p1];
    arr[p1]=arr[p2];
    arr[p2]=temp;
               
    }
    看你用了很多T,那么你知道这里的T代表的是意思么?
    没必要非得用泛型这一概念,只要程序没有黄点和红点就行了。
      

  3.   

    T(泛型)只能接受引用类型,不能接受基本类型
    将int[]---->Integer[] 就可以了
      

  4.   


    是自定义泛型,写错了不好意思。哦,你定义一个泛型的数组,意味在输入实参的时候,首先保证数组是一个Object数组,而不是一个简单的基本类型数组,错误就在这里。
      

  5.   


    是自定义泛型,写错了不好意思。哦,你定义一个泛型的数组,意味在输入实参的时候,首先保证数组是一个Object数组,而不是一个简单的基本类型数组,错误就在这里。
     对的,是这样的,谢谢啊~!!