假设我有一个代码empList,它是一个ArrayList。我有3个字符串,名字,老板和dob持有一些员工的数据。我想编写从我的字符串创建Employee的代码,然后将其添加到empList。我可以使用ArrayList的add方法在我构建它之后添加我的员工,但我不太清楚如何。
这是我到目前为止写的员工课程:
ArrayList<String> empList = new ArrayList<String>();
class Employee{
Employee(String dob, String name, String boss) //(constructor)
//dob should be mm/dd/yyyy, and boss of length 0 indicates no boss.
int getAge()
String getName()
String getBoss() //returns length 0 string if none
String getDob()
答案 0 :(得分:0)
您应该将列表声明更改为List<Emloyee>
:
List<Emloyee> empList = new ArrayList<Emloyee>();
(阅读更多关于Java中的泛型:http://docs.oracle.com/javase/tutorial/java/generics/)
然后,您可以创建一个新的Employee实例并将其添加到列表中:
Employee employee = new Employee("dob", "John Smith", "His Boss");
empList.add(employee);
顺便提一下:考虑将boss
的类型从String
更改为Employee
(取决于您的使用案例/含义)。
答案 1 :(得分:0)
您可以使用
在构造函数中执行此操作empList.add(this);
但是,您必须将ArrayList
的类型更改为Employee
,或者如果您想将其保留为String
,那么您必须必须在构造函数中创建String
,然后执行
String str = "Your string here";
empList.add(str);
我也很确定你不能在班级之外找到ArrayList
。 Java不会让你在课外有东西。
答案 2 :(得分:-1)
您可以通过ArrayList
方法向add()
添加字符串。
您的员工类中已经有了getXXX()方法,因此您可以按照
的方式执行某些操作。String str = "Name: " + emp.getName() + ", Boss: " + emp.getBoss() + ", DoB: " + emp.getDoB();
empList.add(str);
您可能需要的是Employees的数组列表(ArrayList<Employee>
),它将以类似的方式添加,而不会将所有内容添加到字符串中。