9

*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();
    }           
}
4

3 に答える 3

5

使用できるFloatクラスもあります。オブジェクトは、データ型のオブジェクト表現としてFloatチェックできます。オブジェクトはキャピトル F で表され、データ型には小さな f があります。Java はオートボクシングをプリフォームします。つまり、2 つの間を簡単に切り替えることができます。つまり、次のようになります。nullfloatFloatfloat

float number = 0.56f;
Float object = number;

またはその逆:

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

Floatデータ型が期待されるメソッドにオブジェクトを渡すこともfloat、その逆も可能です。

何らかの理由でデフォルト値のチェックが機能しない場合、これによりFloatnull をチェックできます。

if (object != null) {
    // do what you want to do
}
于 2013-08-28T17:40:59.587 に答える