Here you can find the source of toIntArray(byte[] data)
public static int[] toIntArray(byte[] data)
//package com.java2s; /*/*from w ww .j a va 2s.co m*/ * Copyright (C) 2014 Jesse Caulfield * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ public class Main { public static int[] toIntArray(byte[] data) { if ((data == null) || (data.length % 4 != 0)) { return null; } int[] ints = new int[data.length / 4]; for (int i = 0; i < ints.length; i++) { ints[i] = toInt(new byte[] { data[(i * 4)], data[(i * 4) + 1], data[(i * 4) + 2], data[(i * 4) + 3], }); } return ints; } /** * Convert 4 bytes into an int. * <p> * This converts the 4 bytes into an int. * * @param byte3 The byte to be left-shifted 24 bits. * @param byte2 The byte to be left-shifted 16 bits. * @param byte1 The byte to be left-shifted 8 bits. * @param byte0 The byte that will not be left-shifted. * @return An int representing the bytes. */ public static int toInt(byte byte3, byte byte2, byte byte1, byte byte0) { return toInt(toShort(byte3, byte2), toShort(byte1, byte0)); } /** * Convert 2 shorts into an int. * <p> * This converts the 2 shorts into an int. * * @param mss The Most Significant Short. * @param lss The Least Significant Short. * @return An int representing the shorts. */ public static int toInt(short mss, short lss) { return ((0xffff0000 & mss << 16) | (0x0000ffff & (int) lss)); } public static int toInt(byte[] data) { if ((data == null) || (data.length != 4)) { return 0x0; } return ( // NOTE: type cast not necessary for int (0xff & data[0]) << 24 | (0xff & data[1]) << 16 | (0xff & data[2]) << 8 | (0xff & data[3])); } /** * Convert 2 bytes into a short. * <p> * This converts the 2 bytes into a short. The msb will be the high byte (8 * bits) of the short, and the lsb will be the low byte (8 bits) of the short. * * @param msb The Most Significant Byte. * @param lsb The Least Significant Byte. * @return A short representing the bytes. */ public static short toShort(byte msb, byte lsb) { return (short) ((0xff00 & (short) (msb << 8)) | (0x00ff & (short) lsb)); } public static short toShort(byte[] data) { if ((data == null) || (data.length != 2)) { return 0x0; } return (short) ((0xff & data[0]) << 8 | (0xff & data[1])); } }