该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-02-18
今天整个上午都在调试一个程序,我就纳了闷了,NND,为什么我明明把ip存进内存 了,重复查询的时候还是去硬盘? 调啊调都没看明白,后来一看JDK才明白,娘西皮滴! 原来Hashtable的contains(Object),指的是是否包含value而不是key!!! 竟然和Map的containsValue(Object value)在功能上是一样的。吃里爬外的方法! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-02-18
boolean contains(Object value)
测试此映射表中是否存在与指定值关联的键。 boolean containsValue(Object value) 如果此 Hashtable 将一个或多个键映射到此值,则返回 true。 改天仔细看看这两个方法的区别。 |
|
返回顶楼 | |
发表时间:2011-02-18
bxj0702 写道 boolean contains(Object value)
测试此映射表中是否存在与指定值关联的键。 boolean containsValue(Object value) 如果此 Hashtable 将一个或多个键映射到此值,则返回 true。 改天仔细看看这两个方法的区别。 要这么看? public boolean containsValue(Object value) { return contains(value); } |
|
返回顶楼 | |
发表时间:2011-02-18
下次注意点 看看api不得了
|
|
返回顶楼 | |
发表时间:2011-02-18
从代码看,好像是历史问题造成的。Java 1.0版本是使用contains()方法,在1.2版本才引入 Java Collections Framework,抽象了Map接口。此接口中包含containsKey()与containsValue()方法,因为有功能的重复,所以Hashtable的containsValue()只是内部自己处理了下,尽管方法声明上有提示,但还是会造成我们的误解,这样不好
|
|
返回顶楼 | |
发表时间:2011-02-18
木用过hashtable了
|
|
返回顶楼 | |
发表时间:2011-02-18
hashtable不是已经不推荐使用了吗
|
|
返回顶楼 | |
发表时间:2011-02-18
最近我也在看这东西
一个是Contains(object key),一个是ContainsKey(object key),就不知道用哪个才对,后来查了资料才知道,其实这两个方法实现的功能是一样的,都是判断哈希表中是否包含指定的键。 它们的源码是这样的: public virtual bool Contains(object key) { return this.ContainsKey(key); } |
|
返回顶楼 | |
发表时间:2011-02-18
经验问题啊
|
|
返回顶楼 | |
发表时间:2011-02-18
NanguoCoffee 写道 bxj0702 写道 boolean contains(Object value)
测试此映射表中是否存在与指定值关联的键。 boolean containsValue(Object value) 如果此 Hashtable 将一个或多个键映射到此值,则返回 true。 改天仔细看看这两个方法的区别。 要这么看? public boolean containsValue(Object value) { return contains(value); } |
|
返回顶楼 | |