java如何创建一个将数组添加到arraylist并对其调用方法的主方法?
我有一个类,它的目的是从ArrayList
中的数组中获取类型为double
的值,并按定义的速率增加它们:
import java.util.ArrayList;
public class Company {
static ArrayList<Employee> employees;
public Company() {
Company.employees = new ArrayList<Employee>();
}
public static ArrayList<Employee> getEmployees() {
return employees;
}
public static void setEmployees(ArrayList<Employee> employees) {
Company.employees = employees;
}
public void increaseSalaries(double rate) {
if (rate <= 0.0) {
throw new IllegalArgumentException();
} else {
for (int i = 0 ; i < employees.size() ; i++) {
employees.get(i).increaseSalaries(rate);
}
}
}
}
我想写一个main方法来构建一个arraylist并在其上调用该方法,但我不确定如何实现。到目前为止我有
public static void main(String[] args) {
Company businesstown;
HourlyEmployee george;
MonthlyEmployee ambrose;
george = new HourlyEmployee("George", "McClellan", "1537", 1.04);
ambrose = new MonthlyEmployee("Ambrose", "Burnside", "1536", 741.0);
}
但是我不确定如何将这些数组添加到ArrayList
businesstown。我已经尝试了很多.add(george);
的组合,但我做不好。要么它说
the method add(HourlyEmployee) is not defined for type Company
或者它编译并抛出一个NullPointerException
(我应该补充HourlyEmployee
和MonthlyEmployee
都是扩展Employee
的类)
# 1 楼答案
在我看来,最好将ArrayList设置为类的私有成员,并使用add方法添加员工
大体上
# 2 楼答案
您可以将它们添加到
getEmployees
返回的List
:但是在访问
businesstown
之前,请确保初始化实例及其内的employees