我正在尝试创建一个包含不同类实例的数组列表。如何在不定义类类型的情况下创建列表? (<Employee>)
List<Employee> employees = new ArrayList<Employee>();
employees.add(new Employee());
Employee employee = employees.get(0);
最佳答案
您可以创建一个对象列表,如 List<Object> list = new ArrayList<Object>()
.由于所有类实现都从 java.lang.Object
隐式或显式扩展类,这个列表可以包含任何对象,包括 Employee
的实例, Integer
, String
等等
当您从此列表中检索一个元素时,您将检索一个 Object
不再是 Employee
,这意味着您需要在这种情况下执行显式转换,如下所示:
List<Object> list = new ArrayList<Object>();
list.add("String");
list.add(Integer.valueOf(1));
list.add(new Employee());
Object retrievedObject = list.get(2);
Employee employee = (Employee)list.get(2); // explicit cast
关于java - 创建不同对象的实例列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11073539/