gpt4 book ai didi

scala - 覆盖 java.util.HashMap.get() 方法

转载 作者:行者123 更新时间:2023-12-02 15:39:44 25 4
gpt4 key购买 nike

这个问题可能听起来很奇怪,但我很感兴趣是否可以在 Scala 中覆盖 Java HashMap 的 get() 方法,以便:如果该值不在 HashMap 中,我们打印一些语句并调用另一个方法而不是返回 null?

最佳答案

我强烈建议避免继承 Java 集合。即使在纯粹的 OO 环境中,GoF 书中也有强烈反对这种继承的论据。但如果你真的想要它,你可以看看其他答案。

现在,在 Scala 上下文中,您有两个主要选择:

  1. 您将它转换为 Scala Map,然后调用 withDefault 方法来完成您正在寻找的事情。有多种方法可以将集合从 Java 转换为 Java。

  2. 如果此选项不适合您,您可以考虑使用带有隐式 View 的组合(又名 pimp-my-library 样式)。隐式 View 现在可能被过度使用,但它们允许丰富现有的类(您无法控制)而不会扰乱继承。

如果您需要代码示例,请发表评论。

关于scala - 覆盖 java.util.HashMap.get() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816672/

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