在Java中,如何检查float变量是否为空?

时间:2013-08-28 15:40:56

标签: java android variables null

当涉及* value.getFloat(“Value_Quotient”,quotient_Float)== null *时,它遇到了问题。我该如何解决这个问题?

private void Store() {
    quotient_Float = posture_error/time;
    if(value.getFloat("Value_Quotient", quotient_Float)==null || quotient_Float < value.getFloat("Value_Quotient", quotient_Float))
    {
        editor.putFloat("Value_Quotient", quotient_Float);
        editor.commit();
    }           
}

3 个答案:

答案 0 :(得分:24)

floatprimitive数据类型,而不是object。 null检查用于对象。对于基元,您应该使用默认值检查。对于float,默认值为0.0f。

答案 1 :(得分:5)

您还可以使用Float课程。可以检查Float对象的null作为float数据类型的对象表示。 Float对象由国会大厦F表示,float数据类型具有小f。 Java预先形成自动装箱,这意味着您可以轻松地在两者之间切换回第四个,即:

float number = 0.56f;
Float object = number;

或者相反:

Float object = new Float(1.43);
float number = object;

您还可以将Float对象传递给期望float数据类型的方法,或者相反。

如果检查默认值因任何原因无效,则可以检查Float是否为空。

if (object != null) {
    // do what you want to do
}

答案 2 :(得分:1)

可能有用的一些要点(Java 8)。

可以将Float对象分配给float原语。然后可以像这样检查浮点基元:

    Float floatObj = new Float(0);
    float floatPrim = floatObj;

    if (floatPrim == 0) {
        System.out.println("floatPrim  is 0"); // will display message
    }

但是,如果您的Float对象为null,则将其分配给基元将导致NPE

    Float floatObj = null;
    float floatPrim = floatObj; //NPE

所以在这里要小心

还有一件事,显然你可以在Float对象上使用==运算符,因为自动装箱会发生。

    Float floatObj = new Float(0.0f);

    if (floatObj == 0) {
        System.out.println("floatObj  is 0"); // will work 
    }