byte[] b = {00,00,00,00};
int i = ((b[0] << 24) + (b[1] << 16) + (b[2] << 8) + (b[3] << 0));
System.out.println(i); //1
System.out.println(Integer.parseInt(new String(b,0,4))); //2结果:
都是由BYTE[]转换为INT,但
第一条打印语句得到结果:0
第二条出错,因为new String(b,0,4)为" "哪位高手帮忙解释一下,谢谢!
int i = ((b[0] << 24) + (b[1] << 16) + (b[2] << 8) + (b[3] << 0));
System.out.println(i); //1
System.out.println(Integer.parseInt(new String(b,0,4))); //2结果:
都是由BYTE[]转换为INT,但
第一条打印语句得到结果:0
第二条出错,因为new String(b,0,4)为" "哪位高手帮忙解释一下,谢谢!
解决方案 »
- 高分 正则表达式
- 一个map的小问题
- 求有经验者?
- 谁会Struts标签多行提交?
- 关于检测输入得问题,困惑好几天了,希望大哥门解答
- 我是个JAVA的初学者,我在学习JAVA的简单数据类型时看到(byte、int、short等等)都有一些(byte byteValue()等)方法,但如何使用不会
- 一个有点难度的问题,如何把一个html文档读成dom结构树??有相关的类包吗??
- ■□■□■ 不使用jb,用jdk怎么能把程序编译成exe?????
- 问一个倒两个
- 关于java主动引用时,static部分的问题
- 关于屏幕锁定
- 请问我用java myClass方式写了一个bat文件,执行文件启动的控制台被人为关闭的时候myClass能否捕捉到这个事件?
int i = (int)b[0] | ((int)b[1] << 8) | ((int)b[2] << 16) | ((int)b[3] << 24);
你用的是+
第二种方法三种的也说的,0转换为字符串是\0解决方法可以用以下代码,参数2是指定进制radixSystem.out.println(Integer.parseInt(""+b[0]+b[1]+b[2]+b[3],2)); //2