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