[英]How to check if a given object is an instance of the class name given in a String?
我有以下變量
MyObj myObj = new MyObj();
String myString = "myPackage.MyObj";
MyObj
看起來像這樣
package myPackage;
class MyObj {
private String one;
private String two;
}
如何檢查myObj
是否是由字符串myString
表示的完全限定 class 名稱的實例?
您可以為此使用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())) {
//...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.