gpt4 book ai didi

java - 自动将变量写入子类

转载 作者:行者123 更新时间:2023-12-01 13:30:30 25 4
gpt4 key购买 nike

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

用户现在拥有变量

id
userName
userMail
userPW

电影有

id
movieTitle
movieLength
movieGenre

现在,我创建一个新的 User 对象并从数据库加载它。所以现在当我从 Movie 加载模型时,我有一个包含以下信息的 JSON 对象:

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

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

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

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

最佳答案

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

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

关于java - 自动将变量写入子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598293/

25 4 0
文章推荐: java - 多线程捆绑和服务实例
文章推荐: java - 如何在方面调用 Hook 类的方法?
文章推荐: java - 如何在 java 中将 list 转换为 list