Map<obj, Integer> myMap = new Map<obj, Integer>;
myObj1 = new obj(value = "a");
myObj2 = new obj(value = "b");
myObj3 = new obj(value = "a");
myMap.put(myObj1, 1);
myMap.put(myObj2, 2);
myMap.put(myObj3, 3);
//myMap.size() returns a value of 2, but I want three distinct entries
所以,我知道为什么会发生上述情况,我想知道如何最好地处理它。
我想创建一个使用 sObject(我的应用程序中的自定义对象)键入的地图。问题是映射键唯一性的测试是针对对象字段的值,而不是对象在内存或其他 Id 中的位置。
我非常想避免保存记录并检索 ID 以用于唯一性。有关如何管理此问题的任何其他建议?