java之学习笔记--hashcode获取对象
2014-11-22 00:00
411 查看
摘要: 通过hashcode获取对象
class XObject{ public final static Map<Integer,XObject> map=Collections.synchronizedMap(new HashMap<Integer,XObject>()); ////它是一个Map,并且线程安全 public static XObject getObjectByRawHashCode(Integer hashCode){ return map.get(hashCode); }
/**hashCode()方法是Object类下面的一个方法,供继承类重写,根据对象内存地址计算哈希值 ,String类重写了hashCode方法,并改为根据字符序列来计算哈希值,identityHashCode()方法是S ystem类中的静态方法,根据对象内存地址来计算哈希值; **/ XObject(){ map.put(System.identityHashCode(this), this); } } public class MyHashCodeObject extends XObject{ private String name; public void setName(String s) { this.name=s; } public String getName() { return this.name; } public static void main(String[] args){ MyHashCodeObject my=new MyHashCodeObject(); my.setName("abc"); System.out.println("hashcode:"+my.hashCode()); MyHashCodeObject object=(MyHashCodeObject)XObject.getObjectByRawHashCode(my.hashCode()); ////通过hashcode重新得到这个对象 System.out.println(object.getName()); }
相关文章推荐
- Java学习笔记-解析Java对象的equals()和hashCode()的使用
- 【学习笔记】Thinking in java (第三版)第一章 对象的介绍(Introduction to objects)
- java对象序列化学习笔记
- java对象序列化学习笔记
- java学习笔记1:对象的"引用"
- java对象序列化学习笔记
- java学习笔记:引用与对象(1)
- Java 对象的 toString() 方法 -Java 学习笔记 (16)
- Hibernate学习笔记---1.java对象持久化技术
- Java对象序列化学习笔记
- java对象序列化学习笔记
- JAVA学习笔记(二)-面向对象程序设计
- Java中对象的比较 == 和 equals() -Java 学习笔记 (15)
- Java的“对象思想”学习笔记[二]
- effective-java 学习笔记 覆写hashCode
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java学习笔记(六)----对象的类型转换, 匿名内置类
- 持有对象的引用 -Java学习笔记(33)
- java学习笔记_不变的对象
- Java面对对象编程---学习笔记(序目)