簡體   English   中英

在Java中,如何檢查float變量是否為空?

[英]In Java, how do you check if a float variable is 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();
    }           
}

floatprimitive數據類型而不是object null檢查用於對象。 對於基元,您應該使用默認值檢查。 對於float,默認值為0.0f。

您還可以使用Float類。 可以檢查Float對象的null因為它是float數據類型的對象表示形式。 Float對象由capitol F表示, float數據類型的f值小。 Java預先形成自動裝箱,這意味着您可以輕松地在兩者之間切換回第四個,即:

float number = 0.56f;
Float object = number;

或者反過來說:

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

您還可以將Float對象傳遞給期望float數據類型的方法,或者相反。

如果檢查默認值無論出於何種原因都不起作用,這將允許您檢查Float是否為null。

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

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

可以將Float對象分配給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 
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM