该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-21
应该用HashMap嘛,containsKey, containsValue.更明确
|
|
返回顶楼 | |
发表时间:2011-02-21
smaxpp 写道 应该用HashMap嘛,containsKey, containsValue.更明确
HashTable也有ontainsKey方法。只是楼主一不看JavaDoc,二不用Map接口抽象。 |
|
返回顶楼 | |
发表时间:2011-02-21
thihy 写道 smaxpp 写道 应该用HashMap嘛,containsKey, containsValue.更明确
HashTable也有ontainsKey方法。只是楼主一不看JavaDoc,二不用Map接口抽象。 同感。API可能容易忽略。但是如果养成 Map<...> map = new Hashtable<...> 而不是 Hashtable .... = .... 的习惯,就不会出现这个问题了。 |
|
返回顶楼 | |
发表时间:2011-02-22
多看看api doc很重要,其实很多问题java的api doc中都写得很清楚,我之前就碰到一个关于api设计的问题也很纠结,后来也是详细的看了之后才明白的。
如果再不懂,我觉得可以可以看源代码的,况且jdk的源代码是open source的,侯捷说的好啊:源码面前,了无秘密。 所以我觉得有机会还是多看看源码是必要的,即便看不懂,看看代码的coding style也是很好的,我看云风有时也是这么干的。^_^。。。。 |
|
返回顶楼 | |
发表时间:2011-04-20
langyu 写道 从代码看,好像是历史问题造成的。Java 1.0版本是使用contains()方法,在1.2版本才引入 Java Collections Framework,抽象了Map接口。此接口中包含containsKey()与containsValue()方法,因为有功能的重复,所以Hashtable的containsValue()只是内部自己处理了下,尽管方法声明上有提示,但还是会造成我们的误解,这样不好 我只是觉得为什么Hashtable里既然有了containsKey和containsValue为什么还要加一个contains方法且功能和containsValue一样呢? ![]() |
|
返回顶楼 | |
发表时间:2011-06-15
最后修改:2011-06-15
dotjar 写道
今天整个上午都在调试一个程序,我就纳了闷了,NND,为什么我明明把ip存进内存 了,重复查询的时候还是去硬盘? 调啊调都没看明白,后来一看JDK才明白,娘西皮滴! 原来Hashtable的contains(Object),指的是是否包含value而不是key!!! 竟然和Map的containsValue(Object value)在功能上是一样的。吃里爬外的方法! Hashtable很少用了,木在项目里面用过
|
|
返回顶楼 | |