我创建了一个名为“employee”的类,用于定义员工对象,它具有员工姓名和销售总额的getter和setter方法。它看起来如下:
public class employee {
private String employeeName;
private double yearSales;
public employee(String employeeName, double yearSales)
{
this.employeeName = employeeName;
this.yearSales = yearSales;
}
public void setName(String employeeName)
{
this.employeeName=employeeName;
}
public void setSales(double yearSales)
{
this.yearSales=yearSales;
}
public String getEmployee()
{
return employeeName;
}
public double getYearsSales()
{
return yearSales;
}
}
然后我有一个方法,用于实例化包含员工对象的ArrayList。我可以创建ArrayList并向其添加信息,如下所示:
public ArrayList employeeArray(String name, double sales)
{
//Instantiate a new ArrayList object
ArrayList employeeList = new ArrayList();
//Initialize the values in the ArrayList
employeeList.add(new employee(name, sales));
return employeeList;
}
我遇到麻烦的地方是尝试打印ArrayList
中的名称值,如下所示:
System.out.println(employeeList.get(0).getEmployee());
我只添加一个元素,因此索引值应该是正确的,我不久前在另一个Java课程中使用ArrayLists,并且能够在我的代码中为这些分配做类似的事情。如果我需要澄清更多关于此的内容,我将很乐意。当然,对此的任何帮助都非常感谢。
答案 0 :(得分:4)
如果你有Java SE> = 5,你应该使用Generics,所以使用ArrayList
而不是ArrayList<employee>
。否则,您需要将其类型从Object
转换为Employee
:
System.out.println(((employee)employeeList.get(0)).getEmployee());
此外,Java 中的类和接口名称应以大写字母开头。
答案 1 :(得分:3)
public ArrayList<employee> employeeArray(String name, double sales)
{
//Instantiate a new ArrayList object
ArrayList<employee> employeeList = new ArrayList<employee>();
//Initialize the values in the ArrayList
employeeList.add(new employee(name, sales));
return employeeList;
}
答案 2 :(得分:0)
您尝试在每次调用ArrayList
方法时实例化新的employeeArray()
。尝试维护一个公共ArrayList
并使用此方法向其添加元素。
使用generics时也+1 如果您是Java新手,那么也请阅读此链接:"Java Programming Style Guide (Naming Conventions)"
假设您有一个名为EmployeeList
的类,您已经定义了此方法employeeArray()
,您可以更新它以在列表中维护新名称,如下所示(请注意,这是一个示例解决方案,显然欢迎您根据需要定制):
public class EmployeeList{
private ArrayList<Employee> employeeList;
public EmployeeList(){
//Initializing the employee arraylist
employeeList = new ArrayList<Employee>();
}
public ArrayList<Employee> employeeArray(String name, double sales){
//Initialize the values in the ArrayList
employeeList.add(new Employee(name, sales));
return employeeList;
}
}
另请注意在上面的代码中使用泛型和命名约定。这可能对你有所帮助。