返回信息流byte bAIDLen;
byte[] m_abFCI = new byte[(short)(bAIDLen+4)];
我的理解是数组元素个数为bAIDLen+4个,(short)是强制类型转换,
不知道理解的对不对。
我不明白为什么要强制类型转换。
这是一条镜像帖。来源:北邮人论坛 / java / #20484同步于 2011/10/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
java 数组语法
cranberry
2011/10/21镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
不转换也行啊
【 在 cranberry (cranberry) 的大作中提到: 】
: byte bAIDLen;
: byte[] m_abFCI = new byte[(short)(bAIDLen+4)];
: 我的理解是数组元素个数为bAIDLen+4个,(short)是强制类型转换,
: ...................
恩。
我是看别人的代码,比较好奇人家有啥意图。
【 在 buptlong 的大作中提到: 】
: 不转换也行啊
: 【 在 cranberry (cranberry) 的大作中提到: 】
: : byte bAIDLen;
: ...................
java木有无符号类型
【 在 Zorya (卓娅.波鲁诺什娜亚) 的大作中提到: 】
: 是不是防止bAIDLen后面加的数过大导致开的数组太大?
: short可以限制到32767.但是short也有符号啊,最好搞成无符号的,就不会出现负数了。
况且没法限制,超过那个数变成负数了就
【 在 buptlong (楚|火属性的小龙|八卦帮之山火贲) 的大作中提到: 】
: java木有无符号类型
【 在 Zorya 的大作中提到: 】
: 是不是防止bAIDLen后面加的数过大导致开的数组太大?
: short可以限制到32767.但是short也有符号啊,最好搞成无符号的,就不会出现负数了。
: --
: ...................
bAIDLen本身是个byte,加上4也不会超过short,所以看这个代码很蛋疼,一看就是C系程序猿写的
明白了
转换成short是防止bAIDLen过大导致给数组传入一个负长度
比如bAIDLen = 127的时候
bAIDLen+4= -125
(short)bAIDLen+4=131
【 在 cranberry (cranberry) 的大作中提到: 】
: byte bAIDLen;
: byte[] m_abFCI = new byte[(short)(bAIDLen+4)];
: 我的理解是数组元素个数为bAIDLen+4个,(short)是强制类型转换,
: ...................
bAIDLen = 127,+4后不用转照样是131,试试看看就知道了,会自动转int的
【 在 buptlong 的大作中提到: 】
: 明白了
: 转换成short是防止bAIDLen过大导致给数组传入一个负长度
: 比如bAIDLen = 127的时候
: ...................
呃,果然是这样
【 在 tianxj (:【情淮徽皖】-Q小分队|是哥们不?) 的大作中提到: 】
: bAIDLen = 127,+4后不用转照样是131,试试看看就知道了,会自动转int的