我想写一个 Float 以便我可以将它的值设置为 null...有什么想法吗?
我现在唯一的想法是,如果 Float 为 null,则写入负值,然后在读取包裹时通过写入 null 来处理负值。这会很烦人,很多 if 语句(最终目标是编写这个 JSON 对象,它需要包含 float 而不是 float 。
谢谢!
编辑:
我目前正在使用这些方法来执行此操作。 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()));
}
最佳答案
writeValue适用于 Float、Double 和其他一些类型
Float x = new Float(3.14);
parcel.writeValue(x);
// later
Float x = parcel.readValue();
关于android - 将 Float(不是 float)写入包裹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107378/