问题描述
|
我有以下变量
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())) {
//...
}