我有一个普通的 POJO,如下所示:
public class Car extends RealmObject{
private String name;
private int maxSpeed;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMaxSpeed() {
return maxSpeed;
}
public void setMaxSpeed(int maxSpeed) {
this.maxSpeed = maxSpeed;
}
}
有没有办法生成一个更新/复制方法来接收另一个 Car 实例?像这样:
public void update(Car other){
setName(other.getName());
setMaxSpeed(other.getMaxSpeed());
}
我从服务器接收到 JSON 格式的汽车,并使用 GSON 获取 Car 实例。如果我想将汽车保存在 Realm 中,我必须执行以下操作:
Car receivedCar = getCarFromServer();
Car car = realm.createObject(Car.class);
car.setName(receivedCar.getName());
car.setMaxSpeed(receivedCar.getMaxSpeed());
请注意,由于 Realm,我不能使用复制构造函数。
我的真实模型有超过 25 个字段,因此这将是一项 killer 级工作。我宁愿生成一个更新方法并执行如下操作:
Car receivedCar = getCarFromServer();
Car car = realm.createObject(Car.class);
car.update(receivedCar);
有人知道如何让我的工作更轻松吗?
最佳答案
这里是来自 Realm 的 Christian。我们目前正在研究如何制作易于使用的 JSON API。我们当前正在进行的工作可以在此拉取请求中找到:https://github.com/realm/realm-java/pull/489 .这基本上可以满足您作为 1-liner 的需求。
它还不在主存储库中,所以在那之前您要么必须手动构建 Realm,要么创建一个像您描述的那样的复制方法。非常欢迎提供反馈。
关于java - Intellij IDEA 从另一个对象实例生成更新方法。 (更新 Realm 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680667/