java - HashMap 到 Java 对象的映射

标签 java hash mapping

我有一个包含大约 300 个键/值的 HashMap ,其中一些需要进入 Java 对象。

HashMap 是来自离散字段的字符串和值的混合。该 HashMap 的示例是:

航类 HashMap :

Flight: AA123
Date: 01/01/2017
Origin: LAX
PilotSurname: SMITH
PilotFirstname: Bob
PilotBirthday: 12/12/2004
PilotGender: Male (Possible values: Male/Female/Unknown)
PilotEthnicity: South American (could be Central American/North American etc)
CoPilotSurname: JONES
CoPilotFirstname: Jane
CoPilotBirthday: 11/12/2004
CoPilotGender: Female (Possible values: Male/Female/Unknown)
PilotEthnicity: Central American (could be South American/North American etc)
Stewardess1Surname: etc.....

这需要进入一个 Java 对象,其中键和值都不总是与属性名称匹配。例如:

航类 POJO

ID: AA123
FlightDate: 01/01/2017
List<Crew> 
    Familyname: SMITH
    FirstName: Bob
    DOB: 01/01/2004
    Gender: Male (could be Male/Female/Transgender)
    Ethnicity: North American (possible: North or South American)

    Familyname: JONES
    FirstName: Jane
    DOB: 01/01/2004
    Gender: Female (could be Male/Female/Transgender)
    Ethnicity: North American (possible: North or South American)

    Familyname: etc...

如何将 Hashmap 系列的人员放入人员列表中,其中字段名称 -> 属性不匹配(姓氏与姓氏、出生日期与出生日期)以及某些离散键与有效值不匹配对于属性(男性/女性/未知与男性/女性/变性人)。

最佳答案

您似乎需要创建一个函数来处理 HashMap 并迭代所有键(解析它们的关键字),然后使用业务逻辑来确定 HashMap 中的哪些数据进入您的 Flight 对象。

这个按钮没有神奇的“简单”按钮。您需要自己编写 Java 逻辑 - 最好在自己的类中编写,这样如果业务逻辑发生变化,您只需要修改该类。

祝你好运!

关于java - HashMap 到 Java 对象的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47999284/

相关文章:

java - 在java中打印阿拉伯字符串

eclipse - 访问 JFrame 时 JVM 以退出代码 1 终止

c - 高速缓存的哈希函数好吗?

json - Hash::Ordered 与 Tie::IxHash 与 JSON::XS 编码

r - 使用 R 中的键值映射转换值向量(相当于 HashMap)

spring-mvc - Spring MVC 映射 Guava Multimap

java - 需要一个方程来找到所需的速度

java - VideoView 和 MediaPlayer 错误(1、-2147483648)

ruby - 尝试使用 Ruby 中的字符串值引用哈希

elasticsearch - 无法在Elastic 5.6中映射索引