gpt4 book ai didi

java - 要使用嵌套的通用集合或自定义中间类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:38 25 4
gpt4 key购买 nike

在将泛型引入 Java 语言之前,我会编写封装集合集合的类。例如:

class Account {
private Map tradesByRegion; //KEY=Region, VALUE=TradeCollection
}

class TradeCollection {
private Map tradesByInstrument; //KEY=Instrument, Value=Trade
}

当然,使用泛型,我可以这样做:

class Account {
private Map<Region, Map<Instrument, Trade>> trades;
}

我现在倾向于选择选项 #2(而不是选项 #1 的泛型版本),因为这意味着我最终不会出现仅出于以下目的而存在的类的激增包装一个集合。但我有一种挥之不去的感觉,认为这是糟糕的设计(例如,在声明新类之前我应该​​使用多少嵌套集合)。意见?

最佳答案

2 更好,因为:

  • 更少的代码完成同样的事情效果(更好,实际上,如#1您的一些类型信息存在仅在评论中)
  • 完全清楚发生了什么上。
  • 您的类型错误将在编译时被捕获。

有什么值得推荐的1?诚然 Map< Integer , < Map < String, < Map< ... 泛型有点难以习惯,但在我看来,它比使用 map 、 map 列表和列表 map 的代码更容易理解 map 和充满 map 列表的自定义对象。

关于java - 要使用嵌套的通用集合或自定义中间类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623978/

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