对象引用为字符串?

时间:2009-07-20 03:44:16

标签: flash actionscript-3

在java中,您可以获得对象的unique string

你怎么能在as3中做到这一点?

3 个答案:

答案 0 :(得分:4)

你可以使用它来获得一个独特的uint ...如果你愿意,把它转换成一个字符串... :-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;
        }
    }
}

请注意,这可能甚至没有必要,因为flash.utils.Dictionary允许直接使用对象作为键...

格尔茨

back2dos

答案 1 :(得分:3)

与java线程上的响应相同,这是一个独特的ID生成器,作为flex SDK的一部分。这可以在mx.utils.UIDUtil下找到,它的工作原理相当简单。

var ID:String  = UIDUtil.createUID();

希望这有帮助。

答案 2 :(得分:0)

您可以尝试使用第三方散列函数(例如md5或sha1)。 Java中对象的哈希码(顺便提一下C#)也是由散列函数生成的。 Here's one I found on Google

希望这有帮助。