错误代码
简单粗暴,先上有问题的代码
publicstaticvoidmain(String[]args){Mapmap=newHashMap();map.put("123","");System.out.println("map.containsKey(123):"+map.containsKey(123));// 输出结果为 false}原因是 Map 存入的 key 是 String 类型,而判断的时候是用 int 或者 long 类型,是一直为 false 的。
正确写法
publicstaticvoidmain(String[]args){Map<String,String>map=newHashMap<String,String>();map.put("123","");System.out.println(" map.containsKey(123 + \"\"):"+map.containsKey(123+""));}完整代码
publicstaticvoidmain(String[]args){Map<String,String>map=newHashMap<String,String>();map.put("123","");System.out.println("错误写法 map.containsKey(123):"+map.containsKey(123));// 错误写法System.out.println("正确写法 map.containsKey(123 + \"\"):"+map.containsKey(123+""));// 正确写法}