如何检查给定对象是否是String中给出的类名的实例?

use*_*011 3 java instanceof

我有以下变量

MyObj myObj = new MyObj();
String myString = "myPackage.MyObj";
Run Code Online (Sandbox Code Playgroud)

其中MyObj这个样子

package myPackage;

class MyObj {
    private String one;
    private String two;
}
Run Code Online (Sandbox Code Playgroud)

如何检查是否myObj是字符串表示的完全限定类名的实例myString

Bal*_*usC 14

你可以用Class#isInstance()它.

if (Class.forName(myString).isInstance(myObj)) {
   // myObj is an instance of the class as specified by myString.
}
Run Code Online (Sandbox Code Playgroud)