我正在做一个作业,我只能将特定类添加到通用 ArrayList,但 ArrayList 似乎没有按预期添加类。
public class ComputerOrder<T extends Product> extends GenericOrder<T> {
private List<T> products;//the list of items
public void addProduct(T t) {
if (t.getClass().isInstance(ComputerPart.class)) {
products.add(t);
}
if (t.getClass().isInstance(Service.class)) {
products.add(t);
}
if (t.getClass().isInstance(Peripheral.class)) {
products.add(t);
}
else System.out.println("Not the right type of object.");
}
主要参数测试:
public static void main(String[] args) {
ComputerPart c;
c = new ComputerPart(12);
ComputerOrder<Product> g3 = new ComputerOrder<>();
g3.addProduct(c);
g3.print();
}
预期的结果是 ArrayList g3 能够添加 c,因为它是 ComputerPart 对象的一个实例,但 ArrayList 是空的。有人可以解释我的代码做错了什么吗?
注意:“else”语句仅用于测试目的,并且似乎表明 if 语句无法正常工作,因为它在我测试时不断被触发。
慕婉清6462132
相关分类