组合数组列表的方法:可变数量的数组。 方法签名
public static <T> T[] combine(T[] ... a) {
...
}
byte[] a = [];
byte[] b = [];
byte[] c = [];
combine(a, b, c); // compiling error
为可变数量的数组定义方法签名的正确方法是什么。感谢。
答案 0 :(得分:3)
那是因为你不能用T
替换原始类型。
尝试使用包装器类Byte
:
public static void main(String[] args) {
Byte[] a = new Byte[]{0x0};
Byte[] b = a;
Byte[] c = a;
combine(a, b, c);
}
public static <T> T[] combine(T[] ... a) {
//do your magic here
}
当然这段代码不会组合数组,但是方法调用会编译。