DE ENTEROS A BYTES

Diego D
04 de Agosto del 2005
HOLA A TODOS.

ALGUIEN TIENE UN CODIGO QUE CONVIERTA UN VECTOR DE ENTEROS A UN VECTOR DE BYTES?

EJEMPLO:

int[] vector1= new int[100];

pasar este vector a esto con los datos:

byte[] vector2= vector formado con los bytes de cada entero del vector1.

Agradezco culaquier ayuda.


el_danny
04 de Agosto del 2005
bien
siendo honestos desconosco que uso puede tener pero bueno.
lo que puedes hacer es usar el casting, con esto convertiras de un tipo a otro pero es posible la perdida de informacion, te lo dejo a tu criterio:

puedes usar un codigo como el que sigue:

int vector1=new int[100];
byte vector2=new byte[100]; //ojo deben ser del mismo tamaño.

for (int i=0; i<vector1.length; i++){
vector2[i]=(byte)vector1[i];
}

insisto en que puedes tener perdida de informacion ya que el byte solo almacena valores entre 0 y 255 y un entero almacena hasta 2 elevado a la 32. algo asi como cuatro millones.

debes capturar posibles errores por lo antes dicho.
espero te sirva.

Diego D
04 de Agosto del 2005
Lo que pasa es que tengo que convertir el vector de enteros a su equivalente en bytes. Tengo que hacer esto puesto que tengo que enviar estos datos por un socket y solo el socket acepta bytes.

pllamosas
04 de Agosto del 2005
Tu no quieres convertir tu array en un array de bytes. Dale una mirada a java.io.Serializable.

http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html