byte类型如何转换成int类型?
下面是我写的一个测试程序,为什么两个print出来的不一样?应该是这行出了问题,
int rtime = ((time[0] << 24) + (time[1] << 16) + (time[2] << 8) + time[3]);
我该如何把byte类型如何转换成int类型?
import java.util.*;
public class HelloDate {
public static void main(String[] args) {
System.out.println("Hello, it's: ");
System.out.println(new Date());
java.text.SimpleDateFormat f=new java.text.SimpleDateFormat("MMddhhmmss");
java.util.Date d=new java.util.Date();
String stime = f.format(d);
System.out.println(stime);
int itime = Integer.parseInt(stime) ;
byte time[] = new byte[1024*3] ;
System.arraycopy(int2byte(itime),0,time,0,4) ;
int rtime = ((time[0] << 24) + (time[1] << 16) + (time[2] << 8) + time[3]);
System.out.println(rtime) ;
}
private static byte[] int2byte(int n)
{
byte b[] = new byte[4];
b[0] = (byte)(n >> 24);
b[1] = (byte)(n >> 16);
b[2] = (byte)(n >> 8);
b[3] = (byte)n;
return b;
}
}