有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Eclipse中isAssignableFrom()方法的java步骤

我目前正在调试一些如下代码:

if (!clazz.isAssignableFrom(TypeName.class)){
    return
}

使用标准的Eclipse调试工具,我可以检查这两个类,并看到它们的名称都是相同的

com.packagename.package1.TypeName

我想介绍一下isAssignableFrom()方法,当它似乎应该通过时,它会导致评估失败,从而缩小问题的范围。我遵循了this question中的答案,但是,当试图“进入”isAssignableFrom()时,Eclipse跳过了这一行,直接进入了return语句,没有向我提供任何信息,说明为什么完全相同类型的两个不可相互分配

我怎样才能进入这个方法,看看在修复TypeName类的明显问题时,哪个比较失败了


共 (2) 个答案

  1. # 1 楼答案

    这些类很可能是从不同的类装入器装入的

    您可以使用cls.getClassLoader().hashCode()进行检查

  2. # 2 楼答案

    你不能。这是一种本地方法。没有Java实现可以介入;它被烘焙到JVM中