我有这个功能;
public static T[] addToArray(T item, T... items){
T[] array;
int array_size = 1;
if(items !=null){ array_size = items.length+1; }
array = java.util.Arrays.copyOf(items, array_size);
array[array_size-1] = item;
return array;
}
我收到此错误cannot find symbol symbol: class T
。我们的想法是使这种方法具有通用性。我从未使用过仿制药,所以我猜错了一些参考资料?
答案 0 :(得分:7)
泛型方法的方法签名如下
public static <T> T[] addToArray(T item, T... items){
T[] array;
int array_size = 1;
if(items !=null){ array_size = items.length+1; }
array = java.util.Arrays.copyOf(items, array_size);
array[array_size-1] = item;
return array;
}
答案 1 :(得分:5)
您需要在方法的返回类型之前声明type参数:
public static <T> T[] addToArray(T item, T... items)
<强>参考:强>
答案 2 :(得分:2)
要创建泛型方法,您需要将其声明为采用泛型类型参数:
public static <T> T[] addToArray(...)