gpt4 book ai didi

Java Map : Using value object's attribute as key, 坏习惯?

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

将对象的属性用作映射条目的键是否是一种不好的做法?每次做都感觉不对。

例如:

class Foo {
String name;
String bar;
}

然后使用这样的 map :

Foo foo = new Foo();
foo.name = "foo bar";
foo.bar = "blaaaa";

Map<String, Foo> foos = new HashMap<>();
foos.add(foo.name, foo);

感觉有点不对。

最佳答案

乍一看感觉不对。

但是使用字段作为key 是合理的,也许有点多余但合法。键的 值从何而来并不重要!因为 Map 的目的是检索元素。像这样公平地完成工作。

如果您感到内疚,如果没有任何副作用,您可以从类中删除该字段。

这可能有什么问题 - 您没有对字段使用方法。考虑以下场景:您想将两个字符串组合为新键。如果你引用了一个字段一千次,那你就倒霉了!您只需要替换该字段的所有出现。如果您不小心更换了其他东西,这可能会导致错误和不便。

但如果你确实有一个方法,你只需更改方法中的部分即可。

关于Java Map : Using value object's attribute as key, 坏习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206738/

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