我有一个类,它启动一个String类型的arraylist。然后我将一些虚拟数据添加到此数组中。
public class Main {
public static void main(String[] args)
{
Home h = new Home();
h.add();
}
}
public class Home
{
public ArrayList<String> Group_Customers= new ArrayList<String>();
public void add()
{
String[] group1 = {"0", "Mr", "Smith", "Andrew"}
for(int i = 1; i < group1.length; i++)
{
Group_Customers.add(group1[i]);
}
Add_Booking a = new Add_Booking();
a.Add();
}
}
在一个单独的课程中。然后我调用这个arraylist并向其添加更多数据。但是,在这个不同的类
中数组是空的public class Add_Booking
{
String Title;
String Firstname;
String Surname;
public void add_Data
{
Title = "Mr";
Firstname = "Bob";
Surname = "Gallow";
save_Data();
}
public void save_Data
{
Home h = new Home();
String[] responses = {Title, Firstname, Surname};
for(int i = 1; i < responses.length; i++)
{
h.Group_Customers.add(responses[i]);
}
System.out.println(h.Group_Customers);
}
}
- 从类Home输出没有group1测试的响应。 我在这个不同的类中引用Group_Customers错了吗? 所有帮助赞赏。 感谢
答案 0 :(得分:4)
调用Home h = new Home();
时,使用默认构造函数实例化新的Home
。
如果希望数组包含数据,请确保在构造函数中添加虚拟数据。另外,实际的代码不能编译,你不能只在类体中抛出方法调用。
你会有这样的事情:
public class Home
{
//Declare the List
public ArrayList<String> Group_Customers = null;
//Default constructor
public Home()
{
//Instantiate and add dummy data
Group_Customers = new ArrayList<String>();
Group_Customers.add("test");
}
}
public class Add_Booking
{
public static void main(String args[])
{
//Construct a new home with default constructor.
Home h = new Home();
//Add new data
h.Group_Customers.add("new data");
//Display List content (should display test and new data)
System.out.println(h.Group_Customers);
}
}
请注意,按照惯例,变量应以每个单词的小写和大写开头,因此您应将变量重命名为groupCustomers
。