hashtable里面关于equals和hashcode的覆盖重写问题
2012-07-20 22:42
435 查看
如果hashtable构造使用了自建的类,那么必须对equals和hashcode进行覆盖重写,这样才能调用containsKey和containsValue才能得到正确的结果
重写equals时用到了instanceof
------------------------------_______以下转自http://arthennala.blog.51cto.com/287631/56731/_______________________________________
instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
参数:
result
必选项。任意变量。
object
必选项。任意对象表达式。
class
必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回
true。如果 object 不是指定类的一个实例,或者 object 是
null,则返回 false。
例如:
Boolean b;
String str = "foo";
b = ( str instanceof String ); // true
b = ( str instanceof Object ); // also true
b = ( str instanceof Date ); // false, not a Date or subclass
注意:
1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。
String s = null;
if ( s instanceof String )
// false, won't happen
2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。
if ( foo instanceof byte[] )
重写equals时用到了instanceof
------------------------------_______以下转自http://arthennala.blog.51cto.com/287631/56731/_______________________________________
instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
用法:
result = object instanceof class
参数:
result
必选项。任意变量。
object
必选项。任意对象表达式。
class
必选项。任意已定义的对象类。
说明:
如果 object 是 class 的一个实例,则 instanceof 运算符返回
true。如果 object 不是指定类的一个实例,或者 object 是
null,则返回 false。
例如:
Boolean b;
String str = "foo";
b = ( str instanceof String ); // true
b = ( str instanceof Object ); // also true
b = ( str instanceof Date ); // false, not a Date or subclass
注意:
1)null值不是任何对象的实例,所以下面这个例子返回了false,无论这个变量声明的是什么类型。
String s = null;
if ( s instanceof String )
// false, won't happen
2)instanceof也可以正确的报告一个对象是否是数组和特定的接口类型。
if ( foo instanceof byte[] )
相关文章推荐
- 关于重写equals()与hashCode()
- 关于hashCode、equals、Hashtable
- 关于为什么要重写hashCode()方法和equals()方法及如何重写
- 关于hashCode里面使用31系数的问题
- 关于覆盖Object中的hashCode, equals和toString
- 关于hibernate中实体中equals和hashcode方法的重写
- 关于为什么要重写hashCode()方法和equals()方法及如何重写
- 关于重写equals,hashcode
- 关于Java覆盖equals方法时必须覆盖hashCode方法
- equals与==关于Object覆盖和重载问题
- 关于hashcode和equals方法重写的一些理解!
- 关于重写entity的equals()和hashCode()方法的必要性
- 关于重写equals,hashcode以及compareTo方法
- 关于重写equals,hashcode以及compareTo方法!
- String有重写Object的hashcode和toString吗?重写equals不重写hashCode会有什么问题?
- 关于重写equals,hashcode以及compareTo方法
- 关于equals与hashcode的重写
- 关于重写equals,hashcode以及compareTo方法
- 关于hashcode 里面 使用31 系数的问题
- 关于重写equals方法,hashcode方法,toString方法 ,compareto()方法