如何确定哪些对象存储在数组列表中?



如果我有3个类,称为CPU,GPU,RAM,我将这些类存储到数组列表ArrayList<Object> stock = new ArrayList<>()中,您可以使用什么方法来返回存储在某个索引中的类。如

stock = new ArrayList<>;
stock.add(new CPU());
stock.add(new GPU());
//method to determine which class is in index 0 
System.out.println(method);
Output: class packageName.CPU

只有第一个元素

您可以简单地获得元素0,然后是类,最后是它的名称。

ArrayList<Object> stock = new ArrayList<>();
class CPU{};
class GPU{};
stock.add(new CPU());
stock.add(new GPU());
System.out.println(stock.get(0).getClass().getName());

和输出是你想要的:

com.example.example.model.CPU

所有元素

如果您需要所有类,只需在过程中添加foreach:

stock.forEach(i -> {
System.out.println(i.getClass().getName());
});

com.example.example.model.CPU

com.example.example.model.GPU

使用markspace指出的stock.get(index).getClass(),这是一个可怕的做法,最好有一个基本接口。

最新更新