我有一个正常的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个领域,所以这将是一个杀手级的工作。我宁愿生成一个更新方法,并做这样的事情:
Car receivedCar = getCarFromServer();
Car car = realm.createObject(Car.class);
car.update(receivedCar);
有谁知道如何让我的工作更轻松?
答案 0 :(得分:1)
来自境界的克里斯蒂安。我们目前正在研究如何制作易于使用的JSON API。我们当前正在进行的工作可以在此拉取请求中找到:https://github.com/realm/realm-java/pull/489。这基本上做你想要的1-liner。
它还没有在主存储库中,所以在那之前你要么必须手动构建Realm,要么创建一个像你描述的那样的复制方法。反馈非常受欢迎。