为什么这段代码中,传入的参数会有错呢?是因为泛型只能是引用类型?

zrc 发布于 2014/09/17 23:18
阅读 528
收藏 0
package org.FanXingYingyong;


import java.util.Arrays;


public class FanXingInMethod {
public <T> void shuchuu(T[] t) {
for (int i = 0; i < t.length; i++) {
System.out.println(t[i]);
}
}


public static void main(String[] args) {
// TODO Auto-generated method stub
String a[] = { "a", "v", "g" };
int array[] = { 1, 2, 3, 4 };
FanXingInMethod b = new FanXingInMethod();
b.shuchuu(a);// 将String[]最为泛型方法的类型参数
b.shuchuu(array);

}


}

加载中
0
公孙二狗
公孙二狗

b.shuchuu(array); 

array是primitive类型的,T[]需要的是Object子类的数组

0
Lyuans
Lyuans

有你这么定义 泛型的吗

苦辛味
苦辛味
难道定义有错吗。这里只是因为对于int数组无法自动装箱才不能用泛型好吗
0
零下三度
零下三度
java中的泛型占位符只能是引用类型,java的泛型机制就是强制类型转化!
0
儒生的心
泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
返回顶部
顶部