private static byte[] CMD=new byte[]{
(byte)0x0000,(byte)0x0001,(byte)020002,(byte)0x0004,
(byte)0x4002,(byte)0x4004,(byte)0x4008,(byte)0x4010,
(byte)0x4020,(byte)0x4040,(byte)0x4080,(byte)0x2001,
(byte)0x2002
}; 当要获取CMD[10]的时候,返回的值是:0xff80
要获得CMD[11],怎么的出来时的确实CMD[1]的数据呢?
System.out.println(CMD[ptzcmd]);
结果却是CMD[1]的
(byte)0x0000,(byte)0x0001,(byte)020002,(byte)0x0004,
(byte)0x4002,(byte)0x4004,(byte)0x4008,(byte)0x4010,
(byte)0x4020,(byte)0x4040,(byte)0x4080,(byte)0x2001,
(byte)0x2002
}; 当要获取CMD[10]的时候,返回的值是:0xff80
要获得CMD[11],怎么的出来时的确实CMD[1]的数据呢?
System.out.println(CMD[ptzcmd]);
结果却是CMD[1]的
解决方案 »
- C++ 的TCHAR* 在JNA中是什么数据类型啊
- 例如数组:List<Pet> petList = new ArrayList<Pet>(); 参数是Pet(父类类型)有什么作用呢!
- Java新手入门的30个基本概念
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后??
- 有个问题没明白请大家帮忙
- InetAddress 支持IPv6地址吗?
- java+mysql 难道
- 何为tomcat,,等。。java 入门必懂!!回答有分!!!
- 大虾们救我:japplet中中文的显示不出来
- scjp一道题!!!!
- 日期计算,使用Calendar和手动计算的区别是什么?
- 使用java执行命令却没有输出内容
(byte)0x4002,(byte)0x4004,(byte)0x4008
};
改为:
private static byte[] CMD=new byte[]{
(byte)0x40,(byte)0x02,(byte)0x40,(byte)0x04,(byte)0x40,(byte)0x08};
private static byte[] CMD=new byte[]{
(byte)0x0000,(byte)0x0001,(byte)020002,(byte)0x0004,
(byte)0x4002,(byte)0x4004,(byte)0x4008,(byte)0x4010,
(byte)0x4020,(byte)0x4040,(byte)0x4080,(byte)0x2001,
(byte)0x2002
};
改为:
private static short[] CMD=new short[]{
(byte)0x0000,(byte)0x0001,(byte)020002,(byte)0x0004,
(byte)0x4002,(byte)0x4004,(byte)0x4008,(byte)0x4010,
(byte)0x4020,(byte)0x4040,(byte)0x4080,(byte)0x2001,
(byte)0x2002
};
byte是两个字节,而你给的是4个字节,强制转换会截取数据,只剩下最后的两个字节了,
所以你看到的是那样的结果。