`

Hashtable啊Hashtable今天载到在你手里了!

阅读更多

今天整个上午都在调试一个程序,我就纳了闷了,NND,为什么我明明把ip存进内存 了,重复查询的时候还是去硬盘?

调啊调都没看明白,后来一看JDK才明白,娘西皮滴!

  原来Hashtable的contains(Object),指的是是否包含value而不是key!!!

  竟然和Map的containsValue(Object value)在功能上是一样的。吃里爬外的方法!
  汗的教训哪!!
       

分享到:
评论
5 楼 freish 2011-02-18  
木用过hashtable了
4 楼 langyu 2011-02-18  
从代码看,好像是历史问题造成的。Java 1.0版本是使用contains()方法,在1.2版本才引入 Java Collections Framework,抽象了Map接口。此接口中包含containsKey()与containsValue()方法,因为有功能的重复,所以Hashtable的containsValue()只是内部自己处理了下,尽管方法声明上有提示,但还是会造成我们的误解,这样不好
3 楼 whaosoft 2011-02-18  
下次注意点 看看api不得了
2 楼 NanguoCoffee 2011-02-18  
bxj0702 写道
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

改天仔细看看这两个方法的区别。


要这么看?
public boolean containsValue(Object value) {
	return contains(value);
    }

1 楼 bxj0702 2011-02-18  
boolean contains(Object value)
          测试此映射表中是否存在与指定值关联的键。
boolean containsValue(Object value)
          如果此 Hashtable 将一个或多个键映射到此值,则返回 true。

改天仔细看看这两个方法的区别。

相关推荐

Global site tag (gtag.js) - Google Analytics