如果我有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()
,这是一个可怕的做法,最好有一个基本接口。