2014-09-29 82 views
2

我想寫一個Float,以便我可以將它的值設置爲null ...任何想法?將Float(不浮點)寫入包裹

我現在唯一的想法是寫一個負值,如果Float爲null,那麼當讀取parcel時,通過寫入null來處理負值。這將是煩了,雖然,大量的if語句(最終目標是寫這個JSON對象,它需要包含花車彩車不

感謝

編輯:!

我目前使用這些方法來做到這一點。所有的r.get的價值....()的返回湘江邊

private float valueFromFloat(Float f) { 
    if (f == null) { 
     return -1f; 
    } else { 
     return f.floatValue(); 
    } 
} 

private void writeRoute(Route r) { 

    parcel.writeFloat(valueFromFloat(r.getBus())); 
    parcel.writeFloat(valueFromFloat(r.getHeavy_rail())); 
    parcel.writeFloat(valueFromFloat(r.getWalk()));  
    parcel.writeFloat(valueFromFloat(r.getCar23())); 
    parcel.writeFloat(valueFromFloat(r.getLight_rail())); 
    parcel.writeFloat(valueFromFloat(r.getCars4())); 
    parcel.writeFloat(valueFromFloat(r.getCar())); 
    parcel.writeFloat(valueFromFloat(r.getAlternative())); 
    parcel.writeFloat(valueFromFloat(r.getMotorcycle())); 
} 

回答

6

writeValue作品浮點,雙精度和一些其他類型的

Float x = new Float(3.14); 
parcel.writeValue(x); 

// later 
Float x = parcel.readValue(); 
+0

謝謝!這是我正在尋找的。 – 2014-09-29 20:51:56