Newsgroup: it.comp.java
Titolo: stampare oggetti String...

Ho un oggetto String, quando questo viene stampato con
System.out.println() viene automaticamente invocato il
metodo String.toString().
Non c'e' modo di stamparlo invocando il metodo toString()
della classe Object? cioe' non voglio stampare il suo
valore ma il riferimento...

ho già installato il web server jakarta-tomcat-3.3.1
Vuoi dire che è sufficente per le Servlet e JSP.
Chiedo questo perchè leggendo un pò qua e là ho capito che le classi
necessarie per usare le servlet sono incluse nei package seguenti
javax.servelt
javax.servelt.http
che io non possiedo. Infatti scompattando il file src di java (una sua
copia a dire il vero) ho notato la mancanza di tali package.
Mi chidevo allora se quando invoco l'istruzione del tipo
import javax.servlet ricevo degle errori di compilazione
Ti ringrazio in anticipo Grava per i chirimenti che mi darai in merito
Sono un po confuso
grazie 


scusa ho sbaliato thread... 
On Sat, 30 Nov 2002 19:13:25 +0000, Gil-galad wrote:



Quello che ti stampa object e' in un certo senso un riferimento ma non lo puoi 
usare per farci nulla di utile...
A cosa ti servirebbe tale "riferimento"?
Esponi il tuo obbiettivo e troveremo la soluzione ;)
-- 
   [   [  [ JJ ]  ]   ]  | Proponi la tua professionalita' su
                         | 
http://www.siforge.org

 "riferimento"? Esponi il tuo obbiettivo e troveremo la soluzione ;)
Devo semplicemente memorizzare la rappresentazione come stringa 
dei riferimenti ad una serie di stringhe, in un file testo, ma non
ci devo fare nessuna computazione sopra per ora, in futuro non so ^_^
 
-- 
"difficilmente riusciremo ad arginare la diffusione dei virus finche' 
 esisteranno programmi come  u(z1...zn)=sel1(u z1...zn)=u" - Kleene

 ci devo fare nessuna computazione sopra per ora, in futuro non so ^_^
mi e' venuta cosi'... prova!
public String memoryAddress() {
   return super.toString();
}
-- 
__/\__ * this mail has been written by Talpa Stellare
\ TS / * che da piccolo una volta e' morto.
 |/\|  * icq# 78630739 - togli i caratteri maiuscoli x e-mail

 }
E dovrebbe funzionare?
Se provassi ad inserire questo metodo in una classe che estende Object mi
ritornerebbe una stringa che e' la rappresentazione del riferimento non
ad un oggetto String ma all'oggetto corrente (ovvero l'istanza della
classe che deriva da Object).
A me serve stampare i riferimenti per esempio di 
"pippo", "pluto"... e lo posso fare credo invocando solo il metodo
Object.toString().
Il tuo suggerimento non e' corretto oppure ho inteso male?


leggendo nel javadoc il metodo toString() della classe Object vedi come
fa java a costruire quel riferimento:
getClass().getName() + '@' + Integer.toHexString(hashCode())
perciň
String ciao = "ciao";
System.out.println(ciao.getClass().getName() + '@' +
Integer.toHexString(ciao.hashCode()));
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Integer.toHexString(ciao.hashCode()));
 
Mi stanno cadendo le braccia ^_^
Mi sento un deficente a non averci pensato prima...
La verita' e' che mi stavo incaponendo a cercare un modo per
usare Object.toString() e la soluzione era li a portata di mano ^_^


 classe che deriva da Object).
Probabilmente non ti ho capito io ;-)))
Ad ogni modo, ho provato:
public class prova {
 
  public String toString() {
    return "Non e' quello che voglio";
  }
 
  public String memoryAddress() {
    return "Quello che voglio č: " + super.toString();
  }
 
  public static void main(String argv[])  {
    prova p = new prova();
 
    System.out.println(p);
    System.out.println(p.memoryAddress());
  }
}
Stampa:
Non e' quello che voglio
Quello che voglio č: prova@1372a1a
questo metodo non funziona se il padre di "prova", nella gerarchia di
eredita', ridefinisce toString()... La soluzione consiste
nell'inserire memoryAddress() nel padre e lasciarlo ereditare da tutti
i figli.
Adesso, forse ho compreso male il tuo problema...
