ArrayList具有不同类型的对象

Jim*_*imS 3 java generics arraylist

public static void main (String[] args)
{
  SalariedEmployee se = new SalariedEmployee();
  HourlyEmployee he = new HourlyEmployee();
  se.setName("Simos");
  se.setAfm("111440000");
  se.setSalary(4500);
  he.setName("Chatzis");
  he.setAfm("011155555");
  he.setHoursWorked(200);
  he.setHourlyPayment(25);
  ArrayList list = new ArrayList();
  list.add(se);
  list.add(he);
}
Run Code Online (Sandbox Code Playgroud)

所以我有两个不同类型的对象,我想将它们添加到列表中.我怎样才能使它在编译器方面安全.由于对象是从不同的类创建的,所以在制作列表时我不能使用泛型.或者我可以在完成后更改列表的类型.我的意思是我能拥有这个

ArrayList<SalariedEmployee> list = new ArrayList<SalariedEmployee>();
Run Code Online (Sandbox Code Playgroud)

添加SalariedEmployee的"se"对象,然后将泛型更改为HourlyEmployee,然后添加HourlyEmployee的"he"对象?

And*_*niy 5

看起来您可以创建通用接口Employee并使两个类都实现它.所以你将能够使用泛型:

List<Employee> list = new ArrayList<Employee>();