zoukankan      html  css  js  c++  java
  • [项目bug收集整理2] Map的key,如果是非内置对象,需要自己实现hashCode和equals方法

    bug 背景描述:

    有一个map, Map<App,Integer> map; 这个map中含有某个app的key(debug的时候看的),但是get和containKey(app)都得不到。

    由于没有对App类实现hashCode和equals方法,导致默认会用内存指针地址进行hash比较。

    由于存入map中的app对象的地址和后来取出的地址可能不等(基本不会相等),故导致放得进去,取不出来。

    建议:

    1. 手动实现hashCode和equals方法

    2. 如果不想实现该2个方法,建议用普通的内置对象,如Integer,String等作为key.

  • 相关阅读:
    Cookie
    Servlet请求和响应
    Servlet
    Tomcat
    jQuery
    HTTP协议和ajax
    WebApp制作和正则
    BOM对象和json
    视频和音频
    改变文档结构的方法(5种)
  • 原文地址:https://www.cnblogs.com/akingseu/p/3408133.html
Copyright © 2011-2022 走看看