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();
}
注意:“else”语句只是出于测试目的,似乎表明if语句没有正常工作,因为当我测试时,它总是被触发。
您的主要问题是您搞砸了isinstance检查。那个方法反过来工作;你要找的是:
computerpart.class.isinstance(t)
,而不是t.getclass().isinstance(computerpart.class)
。但是,您可以更简单地将其写成:T instanceof ComputerPart
。
其次,你把系统搞砸了。大概您的意思是代码中的每个“if”都是“else if”,当然第一个除外。
假设我有以下代码: 我怎样才能使它对打字和计算都更有效?
我有一个ArrayList泛型通配符类型,它以Number作为扩展。我试图将整数值添加到ArrayList中。 方法add(int,capture#2-of?)在类型中,不适用于参数(int)
如果作为参数输入,则不应该将其添加到arrayList中,我正在使用BlueJ编译器,并且我已经尝试了几种方法对其进行编码,但仍然无效。 下面是我的方法: 还试过这样的办法: 也试过这个: 并尝试了这个: 我相信我已经用尽了我能想到的所有方法,并在网上做了研究,但似乎不能找到一个有效的答案,我的问题。上面的方法要么添加null,要么不添加null并且不添加非null的新car参数。似乎不知道如何不
问题内容: 我是ReactJS和JSX的新手,下面的代码有一些问题。 我试图将多个类添加到每个属性: 我的React组件是: 问题答案: 当确定(不)使用的类需要大量逻辑时,我使用类名。一个 过于简单的例子 : 就是说,如果您不想包含依赖项,那么下面会有更好的答案。
问题内容: 我是ReactJS和JSX的新手,下面的代码有一些问题。 我试图将多个类添加到每个属性: 我的React组件是: 问题答案: 当确定(不)使用的类需要大量逻辑时,我使用类名。一个 过于简单的例子 : 就是说,如果您不想包含依赖项,那么下面会有更好的答案。
正在尝试向添加多个图像。我尝试了以下方法(为了简单起见修改了): 我还尝试使用将图像添加到中,并使用该索引使用设置