Java - Problemilla con un Array

   
Vista:

Problemilla con un Array

Publicado por Rafa (2 intervenciones) el 17/06/2008 22:07:19
Hola,

He creado esta clase

class Copylines
{
int orden = 0;
int numlin =0;
String LineId = "";
String Quantity = "";
String SecQuantity = "";
String QuantityResto = "";
String SecQuantityResto = "";
}

Despues creo este Array

Copylines [] dataNumOfCopies = new Copylines [data.length];

y me compila todo bien pero a la hora de rellenar la primera variable

dataNumOfCopies[i].orden = i;

me da un java.lang.NullPointerException

No se mucho java...

Alguien me puede decir que estoy haciendo mal?

Gracias y Un Saludo,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemilla con un Array

Publicado por Carlos Mario Toro Loaiza (24 intervenciones) el 18/06/2008 01:37:50
Hola, la mayoria de veces q la jvm vota este tipo de excepciones es por q estas tratando de acceder a una posición del array que no existe o no esta definida, tienes q asegurarte q el valor de data.length es el correcto y q el valor de la variable i no es mayor o menor a este valor...
ejemplo:

Copylines [] dataNumOfCopies = new Copylines [data.length]; //donde data.length vale 8

si yo hago esta declaración con la variable i valiendo 7 está correcta y no votará excepciones...

dataNumOfCopies[i].orden = i;

pero si la variable i vale 8 o algun otro valor q no corresponda con la declaración del array, a la hora de acceder a esa posición del array votará dicha excepción...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla con un Array

Publicado por Gilberto (378 intervenciones) el 18/06/2008 05:27:16
El problema no es el array, sino que no existen objetos Copylines a los que se referencie. Me explico: tu declaraste un array Copylines del tamaño data.length, y lo que se hace es crear el array de REFERENCIAS a objetos Copylines, pero todavía no has asignado dichos objetos al array, por lo que tendrá referencias null en cada posición. Lo correcto es que inicializes el array de la sig. forma:

Copylines[] dataNumOfCopies = new Copylines[data.length];

for(int i=0; i<data.length; i++) {
Copylines[i] = new Copylines() // Constructor por defecto
Copylines[i].orden = i;
// otras asignaciones de datos
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla con un Array

Publicado por Rafa (2 intervenciones) el 18/06/2008 10:02:49
Muchas gracias Gilberto, problema resuelto :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar