Eclipse中isAssignableFrom()方法的java步骤
我目前正在调试一些如下代码:
if (!clazz.isAssignableFrom(TypeName.class)){
return
}
使用标准的Eclipse调试工具,我可以检查这两个类,并看到它们的名称都是相同的
com.packagename.package1.TypeName
我想介绍一下isAssignableFrom()方法,当它似乎应该通过时,它会导致评估失败,从而缩小问题的范围。我遵循了this question中的答案,但是,当试图“进入”isAssignableFrom()时,Eclipse跳过了这一行,直接进入了return语句,没有向我提供任何信息,说明为什么完全相同类型的两个不可相互分配
我怎样才能进入这个方法,看看在修复TypeName类的明显问题时,哪个比较失败了
# 1 楼答案
这些类很可能是从不同的类装入器装入的
您可以使用
cls.getClassLoader().hashCode()
进行检查# 2 楼答案
你不能。这是一种本地方法。没有Java实现可以介入;它被烘焙到JVM中