Я пытаюсь сделать Map
с объектом в качестве ключа. Проблема в том, что когда я пытаюсь получить элементы с этой карты, я всегда получаю null
. Это потому, что я не даю ту же ссылку, что и ключ. Я предоставляю объекту те же значения, поэтому ссылка будет другой.
Есть ли способ решить эту проблему? Могу я заставить его использовать какую-нибудь equals()
функцию?
class PointInt
{
public var x:Int;
public var y:Int;
...
}
var map = new Map<PointInt, Hex>();
var a = new PointInt(1, 1);
var b = new PointInt(1, 1);
var hex_a = new Hex();
map[a] = hex_a;
var hex_b = map[b];
/// hex_b == null now because reference(a) == reference(b)