我有一个正常的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获取一个汽车实例。如果我想在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);
有人知道我怎样才能让我的工作更轻松吗?
来自王国的基督徒。我们目前正在研究如何制作一个易于使用的JSON API。我们目前正在进行的工作可以在这个拉取请求中找到:https://github.com/realm/realm-java/pull/489.这基本上是你想要的一行。
它还不在主存储库中,所以在那之前,你要么手动构建Realm,要么创建一个复制方法,就像你描述的那样。不过,我们非常欢迎反馈。