trace(mymap[new MyObj(my,params)]); // does not work, returns null When printing out and examining the entire map ( trace(mymap) ) it seems that every "new" object that is used as a key is actually a new "id" or "hashcode" (what ever Haxe does under the hood).