我有一个 C# 方法,它对二维数组使用“params”修饰符。
/// <summary>
/// Combine vectors horizontally.
/// </summary>
///
public static T[] Concatenate<T>(params T[][] vectors)
{
int size = 0;
for (int i = 0; i < vectors.Length; i++)
size += vectors[i].Length;
T[] r = new T[size];
int c = 0;
for (int i = 0; i < vectors.Length; i++)
for (int j = 0; j < vectors[i].Length; j++)
r[c++] = vectors[i][j];
return r;
}
我像这样将它转换为Java:
{
int size = 0;
for (int i = 0; i < vectors.length; i++)
{
size += vectors[i].;
}
T[] r =(T[]) Array.newInstance(vectors[0][0].getClass(), size);
int c = 0;
for (int i = 0; i < vectors.length; i++)
{
for (int j = 0; j < vectors[i].length; j++)
{
r[c++] = vectors[i][j];
}
}
return r;
}
但这似乎是错误的。解决方案不起作用。请有人告诉我正确的方法。非常感谢。