多维字符串[][]数组java
我有一个来自.split命令的数组,想要将其放入一个名为String[][]datatabvars的数组中,我不知道如何将datatabvars转换为二维数组并将数据放入其中多维字符串[][]数组java,java,arrays,Java,Arrays,我有一个来自.split命令的数组,想要将其放入一个名为String[][]datatabvars的数组中,我不知道如何将datatabvars转换为二维数组并将数据放入其中 public String[] getList() { String file_name = "path"; String[] links = null; String[][] datatabvars = null; // this var int numberOfDatatabs = 0;
public String[] getList() {
String file_name = "path";
String[] links = null;
String[][] datatabvars = null; // this var
int numberOfDatatabs = 0;
try {
ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
int i;
for(i=0; i < aryLines.length; i++) { //aryLines.length
if (aryLines[i].substring(0, 7).equals("datatab")) {
aryLines[i] = aryLines[i].replace("datatab["+Integer.toString(numberOfDatatabs)+"] = new Array(", "");
aryLines[i] = aryLines[i].replace(");", "");
datatabvars = aryLines[i].split(","); // this split array
numberOfDatatabs++;
}
}
System.out.println(datatabvars[0]);
}catch (IOException e) {
System.out.println( e.getMessage() );
}
return links;
}
public字符串[]getList(){
字符串文件\u name=“path”;
String[]links=null;
字符串[][]datatabvars=null;//此变量
int numberOfDatatabs=0;
试一试{
ReadFile file=新的ReadFile(文件名);
字符串[]aryLines=file.OpenFile();
int i;
对于(i=0;i
将这两行代码(我添加了注释)更新如下:(我假设您的其余代码正常工作)
String[]datatabvars=null;//这个变量
int numberOfDatatabs=0;
试一试{
ReadFile file=新的ReadFile(文件名);
字符串[]aryLines=file.OpenFile();
datatabvars=新字符串[aryLines.length][];//已初始化
int i;
对于(i=0;i
将这两行代码(我添加了注释)更新如下:(我假设您的其余代码正常工作)
String[]datatabvars=null;//此变量
int numberOfDatatabs=0;
试一试{
ReadFile file=新的ReadFile(文件名);
字符串[]aryLines=file.OpenFile();
datatabvars=新字符串[aryLines.length][];//已初始化
int i;
对于(i=0;i
通常,要避免像瘟疫一样使用数组-如果可能,请使用集合:。在这种情况下,split()
返回一个字符串[]
,因此使用它,但使用List
存储多个字符串[]
:
List<String[]> datatabvars = new ArrayList<String[]>();
...
String[] array = input.split(",");
datatabvars.add(array);
List datatabvars=new ArrayList();
...
字符串[]数组=input.split(“,”);
datatabvars.add(数组);
您会发现使用集合比使用数组容易得多。通常,要避免像瘟疫一样使用数组-尽可能使用集合:。在这种情况下,
split()
返回一个String[]
,所以使用它,但使用List
存储多个String[]
:
List<String[]> datatabvars = new ArrayList<String[]>();
...
String[] array = input.split(",");
datatabvars.add(array);
List datatabvars=new ArrayList();
...
字符串[]数组=input.split(“,”);
datatabvars.add(数组);
你会发现使用集合比使用数组容易得多。我尝试过使用datatabvars[numberOfDatatabs]=aryLines[i]。split(“,”);//此拆分不应该根据需要创建它们,从0开始,然后尽可能高地指定?当您通过分配给datatabvars[i]丢弃初始化的length-10数组时,绝对不应该假定长度或初始化整个数组。相反,只需执行datatabvars=new String[aryLines.length][];仅初始化外部数组。其余代码正常。@user1816548更新了答案。如果这是downvote的原因,请删除。我尝试使用datatabvars[numberOfDatatabs]=aryLines[i]。拆分(,“”);//此拆分不应该根据需要创建它们,从0开始,然后尽可能高地指定?当您通过分配给datatabvars[i]丢弃初始化的length-10数组时,绝对不应该假定长度或初始化整个数组。相反,只需执行datatabvars=new String[aryLines.length][];仅初始化外部数组。其余代码正常。@user1816548更新了答案。如果这是downvote的原因,请删除。