将对象与存储在字段中的类进行比较

use*_*976 1 java class

我试图partc构造函数给出的类进行比较,但由于某种原因,我的IDE会弹出一个警告,它始终为false.

Class<? extends Part> c;

public Slot(Class<? extends Part> c){
    this.c = c;
}

public boolean addItem(Part part){
    return part instanceof c;
}
Run Code Online (Sandbox Code Playgroud)

这是为什么的instanceof语句总是假的,什么是正确的语法比较partc

Fab*_*eau 8

您应该调用以下Class方法:

Class.isInstance(Object obj)

当你调用"instanceof c"时,"c"应该是一个Class,而不是一个变量.在您的示例中,c是类型为Class的变量.