我可以在Java中将1d数组存储到2d数组中吗?

时间:2012-05-22 04:14:24

标签: java arrays

当我发现netbeans给出了关于以下代码的错误时,我正在中途编码:

String [][]table={getRowArray()};
//getRowArray() will return me a 1D string array

有没有办法将我的方法返回的1D数组直接存储到2D数组中,而不是使用for循环? 感谢您提供的任何帮助!

3 个答案:

答案 0 :(得分:2)

对于初学者 - 是的,可以这样做。

public class Test {
    public String[] dum() {
        String[] x = {"Not sure"};
        return x;
    }

    public static void main(String[] args) {
        Test t = new Test();
        String[][] words = {t.dum()};
        System.out.println(words[0][0]); // prints "Not sure"
    }
}

仔细检查您获得的错误。确保getRowArray()的返回类型确实为String[]

答案 1 :(得分:0)

对此可能有更好的解决方案,但我认为您需要为其中一个维度指定单个索引才能存储它,因此您将1-D阵列存储到第一个索引中 - 尺寸。

即。

String [][]table;
table[0] = getRowArray();

这应该有效,因为数组的第一个维存储其他数组

答案 2 :(得分:0)

String [] oneD = { "1", "2", "3", "4" }; // getRowArray();
String [][] twoD1 = { oneD };
String [] anotherOneD = null; // or filled
String [][] twoD2 = { oneD, anotherOneD };
String [][] twoD3 = new String[][] { oneD };
String [][] twoD4 = new String[][] { oneD, anotherOneD };