hallo,
ich habe schon wieder eine kleine frage zu folgendem bsp.-programm, dass soweit auch funktioniert:
Die Funktionsweise des Programms ist soweit auch klar und einfach, nur verstehe ich nicht, wie oder warum in der main-methode durch den befehl System.out.println(hdemo) die methode public String toString aufgerufen wird.
ich dachte eigentlich, dass durch den aufruf ein derzeitiger hashwert der hashtable ausgegeben wird und verstehe nicht warum die toString methode ausgeführt wird.
vielen dank schon im voraus für eure hilfe
ich habe schon wieder eine kleine frage zu folgendem bsp.-programm, dass soweit auch funktioniert:
Code:
import java.util.*;
import IOTools.*;
import java.io.*;
class CHashtableDemo {
Hashtable codes;
CHashtableDemo () {
codes = new Hashtable ();
}
public void init () {
// Schluessel und Wert
codes.put ("if", new Integer (1));
codes.put ("while", new Integer (2));
codes.put ("switch", new Integer (3));
}
public void print1 () {
System.out.println ("Alle Elemente:");
for (Enumeration e = codes.elements () ; e.hasMoreElements () ;) {
System.out.print (e.nextElement ());
if (e.hasMoreElements ())
System.out.print (", ");
else
System.out.println ();
}
System.out.println ("Fertig mit allen Elementen\n");
}
public String toString () {
StringBuffer b = new StringBuffer();
b.append("Alle Schluessel: ");
b.append(codes.keySet().toString()+"\n");
b.append("Alle Werte: ");
b.append(codes.values().toString()+"\n");
b.append ("Fertig mit allen Elemeen\n\n");
return(b.toString());
}
}
public class HashtableDemo {
public static void main (String args []) {
CHashtableDemo hdemo = new CHashtableDemo ();
hdemo.init ();
hdemo.print1 ();
System.out.println(hdemo);
}
}
Die Funktionsweise des Programms ist soweit auch klar und einfach, nur verstehe ich nicht, wie oder warum in der main-methode durch den befehl System.out.println(hdemo) die methode public String toString aufgerufen wird.
ich dachte eigentlich, dass durch den aufruf ein derzeitiger hashwert der hashtable ausgegeben wird und verstehe nicht warum die toString methode ausgeführt wird.
vielen dank schon im voraus für eure hilfe