Foros del Web » Programación para mayores de 30 ;) » Java »

El método String no devuelve valor

Estas en el tema de El método String no devuelve valor en el foro de Java en Foros del Web. Un ejemplo sencillo de lo que quiero hacer. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original public class asd {       public static void ...
  #1 (permalink)  
Antiguo 29/12/2011, 08:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 30
Antigüedad: 12 años, 4 meses
Puntos: 0
El método String no devuelve valor

Un ejemplo sencillo de lo que quiero hacer.

Código Javascript:
Ver original
  1. public class asd {
  2.  
  3.     public static void main (String [] args){
  4.  
  5.         try{
  6.  
  7.  
  8.         String entrada="a";
  9.         Veamos(entrada);
  10.  
  11.         System.out.print(entrada);
  12.  
  13.  
  14.         }catch (Exception e){}
  15.     }
  16.  
  17.     public static String Veamos(String veamos){
  18.  
  19.         try{
  20.             veamos="casa";
  21.  
  22.  
  23.         }catch (Exception e){}
  24.  
  25.         return veamos;
  26.  
  27.     }

El problema es que el programa me imprime en pantalla a cuando tendría que imprimirme casa.

¿Que hago mal?

Gracias :D
  #2 (permalink)  
Antiguo 29/12/2011, 09:23
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: El método String no devuelve valor

Hay tantos conceptos que abarcar esta cuestión (Pass by Value, Pass by Rerefence, Inmutable).
Pero bue me voy a limitar a sacarte la duda.
Los String son INMUTABLE's, lo que significa que veamos="casa" (de fondo) hace un nuevo objecto (new String("casa"))
Es decir el objecto entrada no es el mismo que el del método, ocupan distintos espacios de memoria.

Para obtener el cambio tenés que capturar el NUEVO OBJ que te retorna el método.
Código Java:
Ver original
  1. entrada= Veamos(entrada);


Nota: esta cuestión NO se aplica a un objeto con UN atributo de tipo String (Pass by value)
__________________
BadProgrammerException!

Etiquetas: devuelve, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:56.