问题描述
- Java中关于泛型的问题,谢谢了
- public class FanXing {
public static void main(String[] args) {
int[] arr={123467};
reverse(arr);//这里提示报错,怎么回事,调用不了
}public static <T> void reverse(T[] arr){ for(int startIndex=0endIndex=arr.length-1;startIndex<endIndex;startIndex++endIndex--){ T temp=arr[startIndex]; arr[startIndex]=arr[endIndex]; arr[endIndex]=temp; } System.out.println(Arrays.toString(arr));}
}
reverse(arr);//这里提示报错,怎么回事,调用不了 求帮忙,谢谢各位了
解决方案
int[] arr={123467};
->
Object[] arr={123467};
http://blog.csdn.net/orzlzro/article/details/7017435
Java不支持声明泛型数组,更确切地表达是:数组的类型不可以是类型变量,除非是采用通配符的方式
解决方案二:
int 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。
Integer是int的封装类,里面有很多进行处理的静态方法
Integer是对象而int不是,内存的分配位置也不一样
Integer的属性和其他类一样的!在方法里都是引用传递,而原始类型是值传递!
泛型是针对Object的而int不是,int 改为 Integer即可
解决方案三:
java中的泛型,泛型是属于后来新增的,......
答案就在这里:java 泛型问题
解决方案四:
int[] arr={123467};
changeto
Integer[] arr={123467};
解决方案五:
泛型能这么用吗,玩出新花样
解决方案六:
把int[] arr={123467}; 改为Integer类型或Object类型都可以,我试过了,原因就是因为java暂不支持 泛型数组
解决方案七:
泛型不支持基础类型int改为Integer.
解决方案八:
int属于基础数据类型。泛型不包含这些。改成Integer就可以了
时间: 2024-10-26 16:23:08