gpt4 book ai didi

java - 无法在构造函数中添加到 ArrayLists

转载 作者:行者123 更新时间:2023-12-02 04:41:46 25 4
gpt4 key购买 nike

构造函数中的代码不会被调用。我必须调用一个附加函数来调用代码。

测试代码:

public static void main(String[] args){
SourceClass myClass = new SourceClass();
myClass.Populate();//If this line is removed it does not work
System.out.println(myClass.GetDescGroup());

}

正在测试的代码:

 public class SourceClass {

static ArrayList<String> line = new ArrayList<String>();
static ArrayList<ArrayList> description = new ArrayList<ArrayList>();
static ArrayList<ArrayList> descGroup = new ArrayList<ArrayList>();

public void SourceClass () {
//Does not work.
String testLine = new String("1 v1 v2 v3");
String[] testLineSplit = testLine.split(" ");
for (int i = 0; i < testLineSplit.length;i++) {
line.add(testLineSplit[i]);
}

description.add(line);
descGroup.add(description);
}

public void Populate() {
//works
String testLine = new String("1 v1 v2 v3");
String[] testLineSplit = testLine.split(" ");
for (int i = 0; i < testLineSplit.length;i++) {
line.add(testLineSplit[i]);
}

description.add(line);
descGroup.add(description);
}

public String GetDescGroup() {
return descGroup.get(0).get(0).toString();
}
}

Populate() 和 SourceClass() 中使用相同的代码

当调用函数来获取 ArrayList 时,它只是显示为空

最佳答案

您的方法 SourceClass 有一个返回类型 void,这使其成为一个方法而不是构造函数。因此,当您使用 new SourceClass 创建对象时,它会调用默认的空构造函数

构造函数必须是:

public SourceClass () {
....
}

关于java - 无法在构造函数中添加到 ArrayLists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30098654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com