我试图弄清楚结果是否具有较低的值。
-> 如果字符串则为空,如果double
则0.0
,如果int
则0
。
String method = validationObject.getString("method");
Method invokablemethod = getMethod(method, expenseitem);
if (invokablemethod != null) {
Object result = invokablemethod.invoke(expenseitem);
if (result == null) {
nullFields.put(validationObject.getString("key"));
上面代码的解释如下——:
我正在尝试在对象上调用方法,结果可以是任何类型的。 因此,对于String
、0.0
double
类型等,结果可以null
。
现在,我可以为相同的类创建单独的类,但想知道是否有任何预定义的类来实现相同的.
谢谢。
不,没有。
根据我对你的问题的理解,你必须做什么来检查返回的对象值,如下所示;
调用方法(Object result = invokablemethod.invoke(expenseitem);
(后,您需要检查返回对象(result
(的实例属于哪个类。
然后为每个实例类型编写您自己的逻辑。
最简单的原型看起来像这样;
Object result = invokablemethod.invoke(expenseitem);
if(result instanceOf String)
{
///Your logic here
}
else if(result instanceOf Integer)
{
///Your logic here
}
else if(result instanceOf Double)
{
///Your logic here
}
.
.
.
so on...