java - Intellij IDEA 从另一个对象实例生成更新方法。 (更新 Realm 对象)

标签 java intellij-idea android-studio code-generation realm

我有一个普通的 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/

相关文章:

android - Recyclerview 不会为第一个和最后一个数据位置保存更改的项目

android - 登录页面中的水平线

android - 应用程序版本 INSTANT_RUN?

java - 什么是 OutputStreamWriter 的逆函数

java - 如何在服务器停机后恢复 Spring Batch 作业

intellij-idea - 从命令行更改 Intellij HTTP 代理

android - 在哪里运行 adb Kill-server 命令以解决 Intellij IDEA Android "USB Device not found"错误

java - 将 MapReduce 输出拆分为多个输出文件

java - 如何构建多层测试对象?

java - Flutter/Dart 找不到 java 和 $JAVA_HOME