是的,这是可能的。这是一个例子:
公共类主
{
公共静态无效主要(字符串 [] 参数)
{
int[] A = 新的 int[]{1, 2, 3};
int[] B = 新的 int[]{4, 5, 6};
int[][] M = 新的 int[2][];
M[0] = A;
M[1] = B;
对于 (int i = 0; i
上面打印出来:
1 2 3
4 5 6
不过,我们可以做得更好。如果您使用的是 Java 5 或更高版本,请使用:
公共静态 int[][] vertcat(int[]... args){
返回参数;
}
然后你可以写:
int[][] M = vertcat(A,B);
它适用于任意数量的参数。
编辑
上述方法将原始数组塞入另一个数组,这意味着对结果的任何修改都会影响原始数组,这可能是不可取的。使用以下内容复制值:
public static int[][] copyMatrix(int[][] original){
if ( (original==null) || (original.length==0) || (original[0].length == 0)){
throw new IllegalArgumentException("参数必须非空且非空");
}
行=原始长度;
cols = original[0].length;
int[][] cpy = new int[rows][cols];
for (int row = 0; row
如果您希望vertcat 返回副本而不是原件,您可以将其重新定义为:
公共静态 int[][] vertcat(int[]... args){
返回复制矩阵(参数);
}