Java 调用此奇怪的方法时遇到问题(<;T>;)

Java 调用此奇怪的方法时遇到问题(<;T>;),java,methods,Java,Methods,在网上搜索时,我找到了一种可以合并数组的方法。它被设计为根据需要获取尽可能多的参数和任何数据类型。这是我需要它做的,但我不知道如何正确地称呼它!下面是该方法的外观: public static <T> T[] arrayMerge(T[]... arrays) { blah blah blah } publicstatict[]数组合并(T[]数组) { 废话废话 } 我能想到的唯一调用它的方法是byte[]result=arrayMerge(a,b,c)(其中a、b和c

在网上搜索时,我找到了一种可以合并数组的方法。它被设计为根据需要获取尽可能多的参数和任何数据类型。这是我需要它做的,但我不知道如何正确地称呼它!下面是该方法的外观:

public static <T> T[] arrayMerge(T[]... arrays)
{
    blah blah blah
}
publicstatict[]数组合并(T[]数组)
{
废话废话
}

我能想到的唯一调用它的方法是
byte[]result=arrayMerge(a,b,c)(其中a、b和c都指字节[]s),但这不起作用。我怎么称呼它?谢谢

我认为泛型类型只能处理类,不能处理基元类型。因此,它们适用于
Byte[]
,而不是
Byte[]

您可以轻松地将该方法更改为非泛型方法,并指定为
Byte[]
,如果这是您想要的。例如(不确定它是否是最佳impl):

然后使用:

byte[] result = arrayMerge(new byte[0], new byte[0], new byte[0]);

哦,好的,我会使用其他的东西(更改为Byte[],合并它们,然后再更改回来对我来说太麻烦了)好吧,你可以修改你得到的方法,并更改
Byte
的通用参数
T
,这样你就可以使用
Byte[]
byte[] result = arrayMerge(new byte[0], new byte[0], new byte[0]);