Java - pasar por referencia

   
Vista:

pasar por referencia

Publicado por Racsus (30 intervenciones) el 10/11/2008 13:39:23
Hola, tenía entendido que en Java todos los parámetros se pasan por referencia, sin embargo, enla siguiente funcion

public static void SacarNumeroMatriz(int celda_res, String [][] matriz_origen, int x, int y, int size)
{

los campos int no me los devuelve, es decir cuando sale de la función coge el valor que tenía antes, porque? debo declararlos fuera de la función principal?

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 por referencia

Publicado por Mario (199 intervenciones) el 10/11/2008 14:28:59
Prueba pasando un tipo Integer en vez de un int, no tendrás problemas para hacer el cast. No tengo muy claro el xq podría ser, pero al ser el tipo int un tipo primitivo e Integer una clase, podría estar ahí la diferencia.
Ya nos cuentas ; )
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:pasar por referencia

Publicado por Gilberto (378 intervenciones) el 11/11/2008 03:17:17
Un tipo primitivo (int,char,float,etc) no se pasa por referencia sino por copia, por lo que el valor de esas variables debe ser la mísma que tenían antes de pasarlos a la función. Si necesitas devolver un valor primitivo en los parámetros, usa arrays de esos tipos:

public static void SacarNumeroMatriz(int celda_res, String [][] matriz_origen, int[] x, int[] y, int size)
{
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