2 qq 31930741 qq_31930741 于 2016.04.07 20:50 提问

Java中关于泛型的问题,谢谢了

public class FanXing {
public static void main(String[] args) {
int[] arr={1,23,4,6,7};
reverse(arr);//这里提示报错,怎么回事,调用不了
}

public static <T> void reverse(T[] arr){
    for(int startIndex=0,endIndex=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);//这里提示报错,怎么回事,调用不了   求帮忙,谢谢各位了

8个回答

caozhy
caozhy   Ds   Rxr 2016.04.07 23:34
已采纳

int[] arr={1,23,4,6,7};
->
Object[] arr={1,23,4,6,7};

http://blog.csdn.net/orzlzro/article/details/7017435

Java不支持声明泛型数组,更确切地表达是:数组的类型不可以是类型变量,除非是采用通配符的方式

xuan521521
xuan521521   2016.04.21 10:41

int 基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。
Integer是int的封装类,里面有很多进行处理的静态方法

Integer是对象而int不是,内存的分配位置也不一样
Integer的属性和其他类一样的!在方法里都是引用传递,而原始类型是值传递!
泛型是针对Object的而int不是,int 改为 Integer即可

qq_31930741
qq_31930741 谢谢
大约 2 年之前 回复
sarazeng
sarazeng
大约 2 年之前 回复
tcytcy123
tcytcy123 理论正确,顶
大约 2 年之前 回复
tcytcy123
tcytcy123 理论正确,顶
大约 2 年之前 回复
CSDNXIAOS
CSDNXIAOS   2016.04.07 21:02

java中的泛型,泛型是属于后来新增的,......
答案就在这里:java 泛型问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

u010932348
u010932348   2016.04.08 16:19

int[] arr={1,23,4,6,7};
changeto
Integer[] arr={1,23,4,6,7};

Heel_Boy
Heel_Boy   2016.04.14 17:06

泛型能这么用吗,玩出新花样

lovebosom
lovebosom   2016.04.21 12:34

把int[] arr={1,23,4,6,7}; 改为Integer类型或Object类型都可以,我试过了,原因就是因为java暂不支持 泛型数组

menm91
menm91   2016.04.23 19:17

泛型不支持基础类型,int改为Integer.

donggua3694857
donggua3694857   Rxr 2016.04.28 12:30

int属于基础数据类型。泛型不包含这些。改成Integer就可以了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Broken Necklace破碎的项链
Broken Necklace破碎的项链 你有一条由 N 个红色的,白色的,或蓝色的珠子组成的项链(3                                              r 代表 红色的珠子
关于Java泛型的面试题
1. Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人 都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它提供了编译期的类型安全,确保你只能把正确类型的对象放入 集合中,避免了在运行时出现ClassCastE
求助各位高手,帮忙做下,谢谢了
由计算机“想”一个四位数,请人猜出这个四位数是多少。人输入四位数字后,计算机首先判断这四位数字有几位是猜对了,并且在对的数字中又有几位位置也是对的,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机所想的四位数是多少时为止。 
解开诺记手机密码下赶快来
急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,急用谢谢了,
kb和KB和kbps的区别
(以下文章在阅览时请注意b与B的大小写区分)1、Kb和KB的区别:计算机中的信息都是二进制的0和1来表示,其中每一个0或1被称作一个位,用小写b表示,即bit(位);大写B表示byte,即字节,一个字节=八个位,即1B=8b;前面的大写K表示千的意思,即千个位(Kb)或千个字节(KB)。表示文件的大小单位,一般都使用字节(KB)来表示文件的大小。 2、Kb和Kbps的区别:首先要了解的是,ps
Java泛型可能引起的错误
List list = new ArrayList(); list.add("123"); List  list2 = list; System.out.println(list2.get(0)); 程序可以编译运行. 但是,当 Integer integer = list2.get(0); 时,将会出现异常
java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!
<br />2进制CPU使用,8进制很少见,10进制适合人类使用,16进制适合编译器和底层程序员使用,希望对你有所帮助! 以下文章是自己从别的地方复制粘贴过来, 总结了一下。 虽然看着有点乱, 但是想学 ,就能看懂。 若是有什么问题 , 可直接在下方给我留言!!!<br />public class Sun1 {<br />public static void main(String[] args) {<br />    System.out.println(Integer.toHexString(20))
java面试之泛型
1、泛型基本概念 1.1、由来 泛型是JDK 1.5的一项新特性,在Java语言处于还没有出现泛型的版本时,只能通过Object是所有类型的父类和类型强制转换两个特点的配合来实现类型泛化。例如在哈希表的存取中,JDK 1.5之前使用HashMap的get()方法,返回值就是一个Object对象,由于Java语言里面所有的类型都继承于java.lang.Object,那Object转型为任何对象
java 集合泛型案例说明
集合的概念 现实生活中:很多的食物凑在一起 数学中的集合:具有共同体属性的事物 的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的共同属性的对象集合的作用 在类的内部,对数据进行组织; 简单而快捷的搜索大数量的条目 有的集合接口,提供一系列排列有序的元素,并且可以序列钟健快速的插入或者删除有关元素 有的集合接口,提供了映射关系,可以通过关键字key去快速查找到对应的唯
关于泛型和重载的小问题
 首先描述问题,看代码。代码例子:view plaincopy to clipboardprint?import java.util.ArrayList;   public class Test {       public static String test(ArrayList list){           return "";       }       public static Integer test(ArrayList list){           return 1;       }