Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 26-abr-2008, 13:32   #1 (permalink)
hiana ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 25
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!!
hiana está desconectado   Responder Citando
Antiguo 26-abr-2008, 14:19   #2 (permalink)
vdpazmino ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 106
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
vdpazmino está desconectado   Responder Citando
Antiguo 28-abr-2008, 03:32   #3 (permalink)
XenZo ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2007
Mensajes: 43
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!!
XenZo está desconectado   Responder Citando
Antiguo 29-abr-2008, 17:35   #4 (permalink)
hiana ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Re: Q significa sobrecargar el toString??

GRACIAAAASSSS!!!!!!!

Besottototes!!
hiana está desconectado   Responder Citando
Antiguo 30-abr-2008, 07:36   #5 (permalink)
djagu_26 ha deshabilitado el karma
 
Avatar de djagu_26
 
Fecha de Ingreso: enero-2008
Mensajes: 330
Enviar un mensaje por MSN a djagu_26
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"

Solo hay 10 clases de personas: las que entienden los numeros binarios y las que no.
djagu_26 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93