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

问题描述

| 我有以下变量
MyObj myObj = new MyObj();
String myString = \"myPackage.MyObj\";
MyObj
像这样
package myPackage;

class MyObj {
    private String one;
    private String two;
}
如何检查“ 3”是否是由字符串“ 4”表示的完全合格的类名的实例?     

解决方法

        您可以为此使用
Class#isInstance()
if (Class.forName(myString).isInstance(myObj)) {
   // myObj is an instance of the class as specified by myString.
}
    ,        不确定我是否正确理解您,但这可能对您有帮助:
Number n = 42;      //Integer,try 42L (Long)
String type = \"java.lang.Integer\";
//if(n instanceof type)  //?!?
if(Class.forName(type).isAssignableFrom(n.getClass())) {
    //...
}