我想写一个Float,以便我可以将它的值设置为null ...任何想法?
我现在唯一的想法是,如果Float为null,则写入负值,然后通过写入null读取parcel句柄的负值。这会非常烦人,很多if语句(最终目标是编写这个JSON对象,它需要包含Floats而不是浮点数。
谢谢!
编辑:
我目前正在使用这些方法来执行此操作。来自r.get ....()的所有值都返回Floats
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()));
}
答案 0 :(得分:6)
writeValue适用于Float,Double和其他一些类型
Float x = new Float(3.14);
parcel.writeValue(x);
// later
Float x = parcel.readValue();