当我发现netbeans给出了关于以下代码的错误时,我正在中途编码:
String [][]table={getRowArray()};
//getRowArray() will return me a 1D string array
有没有办法将我的方法返回的1D数组直接存储到2D数组中,而不是使用for循环? 感谢您提供的任何帮助!
答案 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 };