java中是否有预定义的类可以告诉我对象中是否有任何值?

java中是否有预定义的类可以告诉我对象中是否有任何值?,java,java-8,Java,Java 8,我试图弄清楚结果是否为低值 例如->如果字符串为空,如果double则0.0,如果int则0 String method = validationObject.getString("method"); Method invokablemethod = getMethod(method, expenseitem); if (invokablemethod != null) {

我试图弄清楚结果是否为低值

例如->如果字符串为空,如果
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
的结果可能是
null
double
类型的结果可能是
0.0
,等等

现在,我可以为同一个类创建单独的类,但我想知道是否有任何预定义的类可以实现相同的功能

谢谢。

没有。
根据我对您问题的理解,您需要做什么来检查返回的objects值,如下所示:

调用方法(
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...

不,没有。谢天谢地,否则我们将陷入Javascript手中的“真实”价值观和各种“娱乐性”边缘案例和惊喜的混乱局面。这是一个误解。对象空表示:没有对象。与double==0.0相对应的是String==“”,即空字符串。还有没有0值的类。如果我们想在这里更精确地说,
int
double
不是
Object
s,它们是基本类型<另一方面,code>Integer和
Double
是对象中的
sA字段不能“不存在”。如果未在构造函数或初始值设定项语句中设置值,则它将以
null
false
0
等开头。但如果在对象中遇到这些值,并不意味着字段“丢失”。它很可能以前有一个不同的值,后来又被更改为“低值”。在这里,您需要做什么?为什么该方法考虑<代码> null >代码> <代码>字符串< /代码>,而不是<代码> iSunType()/<代码>的值,即<代码> < <代码> > <代码> >,而另一方面,考虑<代码> 0 <代码>为“空”,用于<代码>双<代码>,而不是<代码> null <代码>,更不用说忽略
NaN
,它字面上是“不是一个数字”?是的,我知道这一点,但我正在寻找预定义的类。