java.util.IdentityHashMap#clone ( )源码实例Demo

下面列出了java.util.IdentityHashMap#clone ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: j2objc   文件: IdentityHashMapTest.java
/**
 * java.util.IdentityHashMap#clone()
 */
public void test_clone() {
    // Test for method java.lang.Object java.util.IdentityHashMap.clone()
    IdentityHashMap hm2 = (IdentityHashMap) hm.clone();
    assertTrue("Clone answered equivalent IdentityHashMap", hm2 != hm);
    for (int counter = 0; counter < hmSize; counter++)
        assertTrue("Clone answered unequal IdentityHashMap", hm
                .get(objArray2[counter]) == hm2.get(objArray2[counter]));

    IdentityHashMap map = new IdentityHashMap();
    map.put("key", "value");
    // get the keySet() and values() on the original Map
    Set keys = map.keySet();
    Collection values = map.values();
    assertEquals("values() does not work",
            "value", values.iterator().next());
    assertEquals("keySet() does not work",
            "key", keys.iterator().next());
    AbstractMap map2 = (AbstractMap) map.clone();
    map2.put("key", "value2");
    Collection values2 = map2.values();
    assertTrue("values() is identical", values2 != values);
    // values() and keySet() on the cloned() map should be different
    assertEquals("values() was not cloned",
            "value2", values2.iterator().next());
    map2.clear();
    map2.put("key2", "value3");
    Set key2 = map2.keySet();
    assertTrue("keySet() is identical", key2 != keys);
    assertEquals("keySet() was not cloned",
            "key2", key2.iterator().next());
}
 
源代码2 项目: j2objc   文件: IdentityHashMapTest.java
public void test_clone_scenario1() {
    IdentityHashMap hashMap = new IdentityHashMap();
    assertEquals(0, hashMap.hashCode());
    Object cloneHashMap = hashMap.clone();
    ((IdentityHashMap) cloneHashMap).put("key", "value");
    assertEquals(0, hashMap.hashCode());
    assertTrue(0 != cloneHashMap.hashCode());
}
 
源代码3 项目: j2objc   文件: IdentityHashMapTest.java
public void test_clone_scenario2() {
    IdentityHashMap hashMap = new IdentityHashMap();
    assertEquals(0, hashMap.hashCode());
    Object cloneHashMap = hashMap.clone();
    hashMap.put("key", "value");
    assertEquals(1, hashMap.size());
    assertEquals(0, ((IdentityHashMap) cloneHashMap).size());
    assertEquals("value", hashMap.get("key"));
    assertNull(((IdentityHashMap) cloneHashMap).get("key"));
    assertTrue(0 != hashMap.hashCode());
    assertEquals(0, cloneHashMap.hashCode());
}
 
源代码4 项目: j2objc   文件: IdentityHashMapTest.java
public void test_clone_scenario3() {
    IdentityHashMap hashMap = new IdentityHashMap();
    assertEquals(0, hashMap.hashCode());
    hashMap.put("key", "value");
    Object cloneHashMap = hashMap.clone();
    assertEquals(1, hashMap.size());
    assertEquals(1, ((IdentityHashMap) cloneHashMap).size());
    assertEquals("value", hashMap.get("key"));
    assertEquals("value", ((IdentityHashMap) cloneHashMap).get("key"));
    assertEquals(hashMap.hashCode(), cloneHashMap.hashCode());
}
 
源代码5 项目: j2objc   文件: IdentityHashMapTest.java
public void test_clone_scenario4() {
    IdentityHashMap hashMap = new IdentityHashMap();
    Object cloneHashMap = hashMap.clone();
    assertNull(((IdentityHashMap) cloneHashMap).get((Object) null));
    hashMap.put((Object) null, cloneHashMap);
    assertNull(((IdentityHashMap) cloneHashMap).get((Object) null));
    assertEquals(cloneHashMap, hashMap.get((Object) null));
}
 
源代码6 项目: j2objc   文件: IdentityHashMapTest.java
public void test_clone_scenario5() throws Exception {
    IdentityHashMap hashMap = new IdentityHashMap();
    Object cloneHashMap = hashMap.clone();
    assertNull(hashMap.remove((Object) null));
    ((IdentityHashMap) cloneHashMap).put((Object) null, cloneHashMap);
    assertNull(hashMap.remove((Object) null));
    assertEquals(cloneHashMap, ((IdentityHashMap) cloneHashMap)
            .get((Object) null));
}