gpt4 book ai didi

Java - 使用 HashMap 与使用单独的类存储名称字段

转载 作者:行者123 更新时间:2023-11-30 02:46:30 25 4
gpt4 key购买 nike

如果我需要捕获一个人的名字(名字、中间名和姓氏),我想到了以下可能性:

  1. 使用 Map<String, String>姓名;
  2. 使用单独的 Name 类。

如果我使用 map ,我可以像这样存储名称:

name.put("first", "xyz")
name.put("middle", "abc")
name.put("last", "nhf");

然后在 Person 类中:

class Person
{
Map<String, String> name;
//below write setter and getter for it.
}

如果我使用 Name 类,我可以像这样存储:

class Name
{
String first;
String middle;
String last;
//Below write setters and getters for them.
}

然后在 Person 类中:

class Person
{
Name name;
//below write setter and getter for it.
}

我想知道哪一种是更好的做法以及原因。另外如果还有其他更好的方法可以做到这一点。

最佳答案

map 非常具有灵 active 。也就是说,如果您不确切知道您将拥有什么 key 。例如,如果一个人有教名,另一个人有昵称,第三个人有父姓和母姓,那么 Map 可能有意义。在您的示例中,每个人都有名字、中间名和姓氏(尽管其中一些可能为 null?),因此映射只会增加冗余的复杂性(如线程中所述,内存消耗)。坦率地说,除非您将整个 Name 作为对象有一些特殊用途(例如,将其用作 map 中的键),否则我只需将三个字符串成员直接放置在 Person 中 类。

关于Java - 使用 HashMap 与使用单独的类存储名称字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40048274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com