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]);