_console 2019-06-20 10:52 采纳率: 0%
浏览 435

? extends String 是否有意义

最近我在开发某银行的Api接口,并且接收到了他们提供的SDK作为辅助,在了解他们底层代码时发现一个有趣的问题,所以分享出来一起分析,是否有这样写的价值。
在代码中,主要内容是,他们定义了一个自己的Map 集成了HashMap,而在构造方法中,参数规定为Map<? extends String,? extend String>,而总所周知String 是final常量,因此无法被继承,所以 ? extends String 这种写法我认为没有任何意义,但是,怀有对银行这种严谨开发的崇尚,认为这种写法应该有特殊的含义,因此,请教各位大神,欢迎指教。

public class BankHashMap extends HashMap<String, String> {

public BankHashMap(Map<? extends String, ?extends String> m){
        super(m);
    }

}
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-06-20 10:58
    关注
    有意义,在构造函数里允许从一个hashmap<string, string>转换为BankHashMap,因为BankHashMap虽然从HashMap<String, String> 派生,但是它并不是HashMap<String, String> 
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog