[英]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();
}
}
float
是primitive
數據類型而不是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.