0
在以下代碼:的ActionScript3符號擴展與索引訪問的ByteArray
var bytes:ByteArray = new ByteArray();
var i:int = -1;
var j:int;
bytes[0] = i; // bytes[0] = -1 == 0xff
j = bytes[0]; // j == 255;
的詮釋J結束了具有值255,而不是-1。我似乎無法找到一個文檔,定義如何索引訪問ByteArray應該是符號擴展 - 我可以可靠地承擔這種行爲,還是應該採取措施將這些值截斷爲8位數量?我從Java移植了一堆代碼,寧願使用索引訪問,而使用readByte()等方法。
感謝您的迴應。很高興得到一些確認,這(使用[]運算符讀入int)確實是「未定義的」。解決方案並不是一個大問題,也許未來的更新將闡明文檔中的行爲。 – 2009-12-23 03:36:28