Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 对象';s唯一整数或字符串标识符(哈希)_Actionscript 3_Haxe - Fatal编程技术网

Actionscript 3 对象';s唯一整数或字符串标识符(哈希)

Actionscript 3 对象';s唯一整数或字符串标识符(哈希),actionscript-3,haxe,Actionscript 3,Haxe,是否有方法或其他本机方法来获取或存储对象的唯一标识符?(可能使用haxe本机访问或actionscript API) 这样做的原因是为了方便人们思考字典和其他对对象索引的唯一性进行操作的数据结构 如果您使用的是字典,那么对象本身可以用作键,因此您就有了唯一性 var dict:Dictionary = new Dictionary(); var obj:SomeClass = new SomeClass(); dict[obj] = "whatever"; 对于其他数据结构,可以尝试静态生成序

是否有方法或其他本机方法来获取或存储对象的唯一标识符?(可能使用haxe本机访问或actionscript API)


这样做的原因是为了方便人们思考字典和其他对对象索引的唯一性进行操作的数据结构

如果您使用的是字典,那么对象本身可以用作键,因此您就有了唯一性

var dict:Dictionary = new Dictionary();
var obj:SomeClass = new SomeClass();
dict[obj] = "whatever";
对于其他数据结构,可以尝试静态生成序列号。我认为,在很多情况下,这应该足够了

比如:

class UniqueKey {
  private static var _key:int = 0;
  public static function getNextKey():int {
    return ++_key;
  }
}
使用它:

var obj:SomeClass = new SomeClass();
obj.unique = UniqueKey.getNextKey();

尽管上面是关于这个问题的文档模式的解释,但我问的是任何对象的本机id。这似乎不是由Flash运行时提供的。@dlots。没有本土的方式(至少我知道)。除了上面提到的,您还可以实现一些hashcode(我认为Java的
hashcode()
interface/method)。但这并不能保证唯一性(特别是对于字段共享相同值的对象)。从各方面考虑,我都会使用字典(int选项可能会起作用,但可能需要做大量工作才能获得一点好处)。我知道字典和指定的模式。:)但也有其他抽象依赖于哈希表以外的对象的唯一性。哦,好吧,我想你得手工做。