我有一个Double
的字段。我想将其更改为double
字段。这是我设置的代码:
schema.get("Item")
.addField("mOriginalWeightUnboxed",double.class)
.transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
Double boxedWeight=obj.get("mOriginalWeight");
if (boxedWeight==null)
boxedWeight=0.0;
obj.setDouble("mOriginalWeightUnboxed",boxedWeight.doubleValue());
}
})
.removeField("mOriginalWeight")
.renameField("mOriginalWeightUnboxed","mOriginalWeight");
这是推荐的做法吗?
答案 0 :(得分:1)
Double
不可为空之外, double
和double
对于Realm是相同的。
因此,如果您想将Double
变成double
,那么只需创建字段@Required
,然后通过迁移为其添加注释。
schema.get("Item")
.setNullable("mOriginalWeight", false);