創建其他變量我使用反射來調用一個方法:我可以使用一個字符串變量的數據類型在Java
method.invoke(someObject, null);
的問題是,我想使用的值,這個方法返回,而無需這是手前已知的數據類型。我有一個字符串變量的數據類型的知識,說
String type = "String";
是否有可能做一些等價的這 -
type variable = method.invoke(someObject, null)
創建其他變量我使用反射來調用一個方法:我可以使用一個字符串變量的數據類型在Java
method.invoke(someObject, null);
的問題是,我想使用的值,這個方法返回,而無需這是手前已知的數據類型。我有一個字符串變量的數據類型的知識,說
String type = "String";
是否有可能做一些等價的這 -
type variable = method.invoke(someObject, null)
與instanceof
檢查對象類型。
Object o = method.invoke(...);
if(o instanceof Integer) {
// Integer logic...
}
if(o instanceof YourType) {
// YourType logic...
}
// and so on
任何非如果做到這一點? –
也許這樣的事情可能會爲你工作:
if(type.equals("String"){
String o = (String) returnedObject;
} else if(type.equals("Integer")){
Integer o = (Integer) returnedObject;
}
但我建議不打算沿着這條道路。必須有一些更好的方法來達到你想要的結果。
我也有同感。 –
你究竟想達到什麼目的?爲什麼不把它返回給一個'Object'? – Mureinik
我想做類型特定的操作。對於例如如果它是一個整數,我會檢查它是否小於0.如果它只是Object數據類型,我將如何實現這一點? –
'myObject.equals(Integer.valueOf(0))''? – Mureinik