Java - pasar arraylist por referencia

 
Vista:

pasar arraylist por referencia

Publicado por Oscar (30 intervenciones) el 12/01/2009 13:07:39
Hola tengo el siguiente código

LeerFichero Fitxer = new LeerFichero();
ArrayList <String> lista_lineas = new ArrayList <String>();

// OBTENEMOS EL NÚMERO DE NODOS DE UN LADO DEL CUADRADO
size = Fitxer.ObtenerFilasColumnas(file_str, parametro, lista_lineas);

Iterator it = lista_lineas.iterator();
while (it.hasNext()) {
System.out.println("hola");
}

en el cual le paso a la funcion ObtenerFilasColumna un ArrayList que la función me rellenará, con el cual quiero trabajar después, por lo tanto quiero pasarlo por referencia, tenía entendido que en java todo se pasa por referencia excepto los tipos primitivos y este no es el caso. La funcion rellena correctamente el arrayList, pero después me da nullpointerexception al leeorlo con el iterator... pq?

public int ObtenerFilasColumnas(String nom_fitxer, boolean teclado, LinkedList <String> lista)
{
int cont = 0;
int long_linea = 0;
String tipo;

Saludos, Oscar
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:pasar arraylist por referencia

Publicado por german (1 intervención) el 04/05/2009 06:59:24
Yo estoy recien aprendiendo pero he pasado por referencias algunos obtetos como un progressbarr y lo que hice fue lo siguiente:

import javax.swing.*;

public class LlenarBarra extends Thread
{
JProgressBar barra;

public LlenarBarra(JProgressBar estaBarra)
{
this.barra=estaBarra;
}

public void run()
{
EjecutarLlenado();
}

public void EjecutarLlenado()
{
//aqui elcodigo que llena la barra
int i;
barra.setMinimum(1);
barra.setMaximum(100);
try {
for(i=1;i<100;i++)
{
barra.setValue(i);
System.out.println("i:"+i);
Thread.sleep(50);
}

}
catch (InterruptedException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}

Como puedes observar, aca paso por referencia la barra a travez del constructor de la clase en el parámetro estaBarra, pero luego la igualo a this.barra, esto para que en mi clase exista la instancia para el resto de las funciones tal como EjecutarLlenado(). Si viera el resto de tu codigo quizas lo entienda mejor, espero te sirva.
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