In java, you can get a unique string for an object.
How can you do this in as3?
you can use this, to get a unique uint ... if you want to, convert it to a string ... :-P
package {
import flash.utils.Dictionary;
public class ObjectUIDUtil {
private static var _uids:Dictionary = new Dictionary(true);
private static var _cter:uint = 1;
public static function getUID(obj:Object):uint {
var ret:uint = _uids[obj];
return (ret == 0) ? (_uids[obj] = _cter++) : ret;
}
}
}
please note, that this maybe is not even necessary, since flash.utils.Dictionary allows using objects as keys directly ...
greetz
back2dos
Dictionary over a normal Object? (I honestly don't know and am interested).Object the value is converted to a string and objects of the same type have the same string representation by default, so you'd get the same id for every instance of the same class. Dictionary leaves the value largely unmodified, although it will treat the String "1" and the int 1 as the same key, but it will distinguish non-primitive objects by their identity.in the same vain as the responses on the java thread, the is a unique ID generator as part of the flex SDK. This is found under mx.utils.UIDUtil, it works fairly simply.
var ID:String = UIDUtil.createUID();
Hope this helps.
You can try using a third party hashing function (such as md5 or sha1). The hashcode for objects in Java (incidentally C#) is generated by a hashing function as well. Here's one I found on Google
Hope this helps.