有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java自动将变量写入子类

我正在努力实现以下目标。我有几个具有一些基本方法的模型,例如saveModel、loadModel、laodModel from。现在,我有了扩展这个模型的其他类,例如User和Movie

用户现在有了变量

id
userName
userMail
userPW

电影

id
movieTitle
movieLength
movieGenre

现在,我创建一个新的用户对象并从数据库中加载它。现在,当我从电影中加载模型时,我有一个JSON对象,其中包含以下信息:

id = x
movieTitle = "bla"
movieLength = "bla"
movieGenre = "bla"

如您所见,jSON包含正确的键和值,现在我只需将它们写入子模型。我的模型现在怎么可能将所有字段值写入用户对象?在PHP中,我会这样做

foreach ($row as $key=>$val) {
            $this->$key = $val;
}

然而,在Java中,这似乎是不可能的。那么父类如何自动将变量写入子类呢。或者这不可能,我必须手动完成吗?我在这里看到的问题是,当我可以在超级类中执行时,我必须对每个模型再次执行此操作。我该怎么做


共 (1) 个答案

  1. # 1 楼答案

    实现这一点的一种方法是定义父类,使其具有包含所有可能字段的映射;并让子类定义包含在枚举中的字段。因此,从父类级别只需序列化所有映射及其键值对。使用泛型和枚举作为参数,可以灵活地选择要使用的键/键类型

    话虽如此,您最好有一个生成子类的代码生成器;如果愿意,还可以为指向贴图中特定键的每个字段生成单独的方法