【发布时间】:2020-10-11 08:32:12
【问题描述】:
我有一个 Test 类,它的具有相同值 (101,"abc") 的对象被创建了两次。我将这两个对象作为键插入到 Hashmap 中。我想了解内部功能,为什么当我的两个键都相同时,我将大小变成两个地图,它可能应该覆盖?
import java.util.HashMap;
import java.util.Map;
public class Test{
int id;
String name;
public static void main(String[] args) {
Test e1 = new Test(101,"abc");
Test e2 = new Test(101,"abc");
//Test e3 = new Test(101,"abc");
Map<Test, String> map = new HashMap<>();
map.put(e1, "XYZ");
map.put(e2, "CDF");
String value = map.get(e2);
System.out.println( "VALUE : "+value);
}
public Test(int id, String name) {
this.id = id;
this.name=name;
}}
【问题讨论】:
-
您听说过缩进吗?使每个程序更易于阅读。
-
在你的
Test类中覆盖hashCode()和equals()。