创造价值基础类?

时间:2015-12-23 16:59:54

标签: java

是否可以创建自己的基于价值的课程? 例: 字符串是基于值的:

String name1 = "some string";
String name2 = "some string";
Map<String, Object> newMap = new HashMap<String, Object>;
newMap.put(name1, new Object());
Object obj = map.get(name2);

我可以通过String获取对象,这在技术上与i put()不同,但它具有相同的值。 我怎么能和自己的班级一起做这个?

1 个答案:

答案 0 :(得分:1)

HashMap和变体以与遗留Hashtable相同的方式解释密钥:

  

要成功存储和检索哈希表中的对象,用作键的对象必须实现hashCode方法和equals方法。

假设您已经这样做了,get(key)方法的工作原理如下:

  

返回指定键映射到的值,如果此映射不包含键的映射,则返回null。   更正式地说,如果此映射包含从键k到值v的映射,使得(key==null ? k==null : key.equals(k)),则此方法返回v;否则返回null。 (最多可以有一个这样的映射。)