Java 如何检查给定对象是否是字符串中给定类名的实例?
我有以下变量Java 如何检查给定对象是否是字符串中给定类名的实例?,java,instanceof,Java,Instanceof,我有以下变量 MyObj myObj = new MyObj(); String myString = "myPackage.MyObj"; 其中MyObj如下所示 package myPackage; class MyObj { private String one; private String two; } 如何检查myObj是否是由字符串myString表示的完整限定类名的实例?您可以用于此操作 if (Class.forName(myString).isInsta
MyObj myObj = new MyObj();
String myString = "myPackage.MyObj";
其中MyObj
如下所示
package myPackage;
class MyObj {
private String one;
private String two;
}
如何检查myObj
是否是由字符串myString
表示的完整限定类名的实例?您可以用于此操作
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())) {
//...
}
你的意思是
myObj的instanceof myObj
??我们都相信OP的意思是instanceof type
,其中type被指定为String
。这就是我们坚持的版本:-)。