The code in the constructor does not get called. I have to invoke an additional function to call the code.
Test Code:
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());
}
Code being tested:
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();
}
}
Same code goes in Populate() and SourceClass()
When a function is called to get the ArrayList it just turns up as empty