Intellij IDEA从另一个对象实例生成更新方法.(更新RealmObject)



我有一个正常的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,要么创建一个复制方法,就像你描述的那样。不过,我们非常欢迎反馈。

最新更新