比较对象类型

Don*_*ode 3 java types

我不知道如何对 newEntry 执行类型检查,我想确保它是 MyTable 类型(而不创建 MyTable 对象)。

public static boolean add(String table, Object newEntry)
{
    boolean result; 
    if (table.equals("MyTable") && newEntry.getClass() == MyTable.getClass())
    {
         ...
    }   
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

newEntry.getClass() == MyTable.getClass(). 
Run Code Online (Sandbox Code Playgroud)

注意:MyTable 是类名,而不是对象。

JHo*_*nti 5

基本上你想要的是:

可分配自

看看: http: //www.ralfebert.de/blog/java/isassignablefrom/

因此,就您而言,您想要:

MyTable.class.isAssignableFrom(newEntry.getClass())