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

Q significa sobrecargar el toString??

Estas en el tema de Q significa sobrecargar el toString?? en el foro de Java en Foros del Web. Hace poquito realice una pregunta con respecto a un array de String, la cual fue “Porque me muestra [Ljava.lang.String;@10b62c9 ” el sgte programa: package ar.edu.unlam.tallerjava.tp; ...
  #1 (permalink)  
Antiguo 26/04/2008, 13:32
 
Fecha de Ingreso: enero-2008
Mensajes: 31
Antigüedad: 16 años, 3 meses
Puntos: 0
Q significa sobrecargar el toString??

Hace poquito realice una pregunta con respecto a un array de String, la cual fue “Porque me muestra [Ljava.lang.String;@10b62c9
” el sgte programa:

package ar.edu.unlam.tallerjava.tp;

Código PHP:
public class HelloWorld {
    public static 
void main (String [] args){
        
String texto1="Trabajo";
        
String texto2="Practico";
        
String texto3="Numero 1";
        
String texto4="Taller";
        
String texto5="Java";
        
        [
COLOR="YellowGreen"]//guardo las 5 variables string en un array de string[/COLOR]
        
String textoCompleto[]=new String[5];
        
textoCompleto[0]=texto1;
        
textoCompleto[1]=texto2;
        
textoCompleto[2]=texto3;
        
textoCompleto[3]=texto4;
        
textoCompleto[4]=texto5;
        
        [
COLOR="yellowgreen"]//imprimo el array solo con su nombre[/COLOR]
        
System.out.println(textoCompleto);
    }


Muy amablemente XenZo me contesto: Lo que te muestra es la dirección de memoria del Objeto array, y eso es debido a que no tiene sobrescribo el toString, deberías sobrescribirlo para que te mostrara lo que contiene.

Pero no se a que se refiere con eso (o sea lo de sobrescribir), anduve averiguando y el toString es algo que invoca por defecto el jvm (java virtual machine) cuando se llama a System.out.println ()…

Me podrían informar un poquito sobre esto y como seria la sobrescritura en este programita??

Muchisimas gracias adelantadas y lindo finde!!
  #2 (permalink)  
Antiguo 26/04/2008, 14:19
 
Fecha de Ingreso: mayo-2007
Mensajes: 210
Antigüedad: 17 años
Puntos: 8
Re: Q significa sobrecargar el toString??

Te explico un poco cada clase de java hereda de la clase Object, en la clase object esta el metodo toString() como otros metodos mas te pongo un ejemplo de como sobreescribir el metodo toString

Código PHP:
public class Persona{
        private 
String nombre;

        public 
Persona(String n){
                
this.nombre n;
         }

        
//aqui se sobreescribe el metodo
        
@Override
        
public String toString(){
               return 
nombre;
        }

La clase anterior sobreescribe el metodo toString indicando que devuleva el nombre de la persona, ahora cuando tu llama al metodo System.out.println() y le envias como parametro un objeto lo que hace el metodo es llamar a la funcion toString del metodo por ejemplo

Código PHP:
         Persona p = new Persona("Maria");
         
System.out.println(p); 
el resultado del codigo anterior es que te imprimime en consola "Maria", espero que te ayude con tu duda

salu2
  #3 (permalink)  
Antiguo 28/04/2008, 03:32
 
Fecha de Ingreso: noviembre-2007
Mensajes: 52
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Q significa sobrecargar el toString??

Muy buena explicacion!

Bien de todas maneras no te compliques, la forma mas sencilla ya te la explico otro compañero en otro hilo:
Código PHP:
for(int i=0;i<array.size();i++){
System.out.println("El valor es: " + array.get(i));

Y esto te mostraria linea por linea el contenido de tu array sin ningun tipo de complicacion.

Un saludo!!
  #4 (permalink)  
Antiguo 29/04/2008, 17:35
 
Fecha de Ingreso: enero-2008
Mensajes: 31
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Q significa sobrecargar el toString??

GRACIAAAASSSS!!!!!!!

Besottototes!!
  #5 (permalink)  
Antiguo 30/04/2008, 07:36
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Q significa sobrecargar el toString??

Para que te sea util tambien se puden redefinir los metodos equals() y clone() de la clase aparte del toString(),
saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
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 13:41.