Closed. This question needs debugging details。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        4年前关闭。
                    
                
        

我有一些参数Class<? extends JsonAPIDataObject> responseClass,当我尝试在if(responseClass instanceof ThisClass)实现ThisClass的地方使用此JsonAPIDataObject时,它总是会说不兼容的类型吗?

编辑:

MyClass.class.isAssignableFrom(responseClass.getClass())
MyClass.class.isInstance(responseClass.getClass())


两者都不起作用,我尝试了没有.getClass()的尝试。

最佳答案

x instanceof Y仅在x的编译时类型与Y兼容时才进行编译。例如,下面的代码无法编译,因为没有StringNumber

String str = "Foo";
System.out.println(str instanceof Number);


在您的情况下,responseClassClass,而不是ThisClass,因此

responseClass instanceof Class


编译并给出true,而

responseClass instanceof ThisClass


无法编译。您应该使用isInstance

09-27 09:57