如何确定哪些对象存储在数组列表中?
How to determine which objects are stored in an arraylist?
如果我有 3 个 class 称为 CPU、GPU、RAM 并且我将这些 class 存储到数组列表中 ArrayList<Object> stock = new ArrayList<>()
你可以使用什么方法 return 其中 class 存储在某个索引中。例如
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
使用 markspace 指出的 stock.get(index).getClass()
这是可怕的做法,最好有一个基本接口。
只有第一个元素
您可以简单地获取元素 0,然后是 class,最后是它的名称。
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
所有元素
如果您需要所有 classes,只需在进程中添加一个 foreach:
stock.forEach(i -> {
System.out.println(i.getClass().getName());
});
com.example.example.model.CPU
com.example.example.model.GPU
如果我有 3 个 class 称为 CPU、GPU、RAM 并且我将这些 class 存储到数组列表中 ArrayList<Object> stock = new ArrayList<>()
你可以使用什么方法 return 其中 class 存储在某个索引中。例如
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
使用 markspace 指出的 stock.get(index).getClass()
这是可怕的做法,最好有一个基本接口。
只有第一个元素
您可以简单地获取元素 0,然后是 class,最后是它的名称。
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
所有元素
如果您需要所有 classes,只需在进程中添加一个 foreach:
stock.forEach(i -> {
System.out.println(i.getClass().getName());
});
com.example.example.model.CPU
com.example.example.model.GPU