valueOf() vs. toString() Verwendung???

Status
Nicht offen für weitere Antworten.

Sindbad1983

Top Contributor
gibt es einen Unterschied zwischen valueOf und toString ? wenn ja, welchen?

String s = String.valueOf( myDouble );
String s = Double.toString( myDouble );
 

Sindbad1983

Top Contributor
und ich hab gleich noch eine Frage:

wann weiß ich, ob die Methode toString() zu implementieren ist?
oft genügt auch nur:
System.out.println(...)-> sie ruft ja automatisch toString() auf oder?
 
B

bygones

Gast
hihi - wenn du dir den Code von String.valueOf(d) anschaust erklärt das die Frage:
Code:
return Double.toString(d);

zur zweiten Frage: println ruft immer die toString methode des Objekts auf. bei eigenen Objekten sollte man immer die toString überschreiben, um nicht im Wust des hashCode sich zu verlieren
 

Illuvatar

Top Contributor
Er meint, wenn du selber eine Klasse schreibst.

Ein Beispiel:
Code:
public class Irgendwas
{
  public static void main (final String[] args)
  {
    System.out.println (new KlasseA("test"));
    System.out.println (new KlasseB("test"));
  }
}
class KlasseA
{
  private String s;
  public KlasseA (String str)
  {
    s = str;
  }
}
class KlasseB
{
  private String s;
  public KlasseB (String str)
  {
    s = str;
  }
  public String toString()
  {
    return "KlasseB: " + s;
  }
}

Ausgabe:
KlasseA@18d107f
KlasseB: test
 
B

bygones

Gast
Sindbad1983 hat gesagt.:
ok..super
danke..ich checks!
aber warum gibt er da so komische Zeichen aus?
KlasseA@18d107f
was bedeuten die?
das ist die default toString ausgabe der Klasse Object - da jedes Objekt in Java automatisch von dieser Klasse erbt nutzt jede Klasse die toString Methode von Object (wenn die Methode nicht in der Klasse überschrieben wird)...

die Ausgabe ist der Klassennamen und der Hashcode des Objekts....
 
G

Guest

Gast
deathbyaclown hat gesagt.:
das ist die default toString ausgabe der Klasse Object - da jedes Objekt in Java automatisch von dieser Klasse erbt nutzt jede Klasse die toString Methode von Object (wenn die Methode nicht in der Klasse überschrieben wird)...

die Ausgabe ist der Klassennamen und der Hashcode des Objekts....

Jetzt müsste man nur noch wissen, was ein Hashcode ist.
 

Sky

Top Contributor
Anonymous hat gesagt.:
Jetzt müsste man nur noch wissen, was ein Hashcode ist.
http://www.galileocomputing.de/openbook/javainsel2/java_060008.htm hat gesagt.:
Die Methode hashCode() soll zu jedem Objekt eine möglichst eindeutige Integerzahl (sowohl positiv als auch negativ) liefern, die das Objekt identifiziert. Inhaltlich gleiche Objekte (gemäß der Methode equals()) müssen denselben Wert bekommen. Eine spezielle Funktion berechnet diesen Wert, der Hashcode oder Hash-Wert genannt wird. Die Funktionen, die solche Werte berechnen, nennen sich Hash-Funktionen.

Hashcodes werden verwendet, um Elemente in Hash-Tabellen zu speichern. Diese sind Datenstrukturen, die einen effizienten Zugriff auf ihre Elemente erlauben. Die Klassen java.util.HashMap oder java.util.Hashtable bieten eine solche Datenstruktur an.
 

Bleiglanz

Gesperrter Benutzer
Fehlt der Hinweis, dass der hashCode im Allgemeinen NICHT eindeutig ist bzw. sein kann (z.B. weil es viel weniger ints gibt als mögliche Strings :)

Er dient im Collections API dazu, die Elemente in sog Buckets vorzusortieren, damit später der Zugriff schneller ist

er soll - da die Eindeutigkeit praktisch nie zu erreichen ist - eine möglichst "gute" Verteilung der Objekte in die Buckets erlauben

ein besseres Zitat wäre da wohl in der API zu finden
# Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
# If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
# It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
A Object -> String mit valueOf, toString oder cast ? Java Basics - Anfänger-Themen 6
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
K Mehrere String.valueOf() kürzer schreiben / "packen"? Java Basics - Anfänger-Themen 2
K valueOf() für String Arrays? Java Basics - Anfänger-Themen 4
D Problem mit Nachkommastellen <%=Double.valueOf(35/1000)%> ergibt 0.0? Java Basics - Anfänger-Themen 3
M Unterschied: Double.valueOf() und Double.parseDouble() Java Basics - Anfänger-Themen 6
ARadauer valueOf Java Basics - Anfänger-Themen 20
A Unterschied: parseInt und valueOf Java Basics - Anfänger-Themen 3
U enum.valueOf funzt nicht Java Basics - Anfänger-Themen 4
D unterschied double.valueof(str) und double.parsedouble(str) Java Basics - Anfänger-Themen 4
G zwei Zahlen bei String.valueOf(char c) in JTextField Java Basics - Anfänger-Themen 7
W LocalDate toString und nach Split falsch "erkannt"? Java Basics - Anfänger-Themen 8
W ArrayList und toString Java Basics - Anfänger-Themen 17
W toString bei composition Java Basics - Anfänger-Themen 4
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
E Einrücken inner der toString()-Methode Java Basics - Anfänger-Themen 34
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
M Polymorphie toString Java Basics - Anfänger-Themen 13
Y Wie kann ich ein Element in einer toString finden. Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
P falscher booleanwert bei toString Java Basics - Anfänger-Themen 4
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
M Wie analysiert JSON eine toString-Ausgabe ? Java Basics - Anfänger-Themen 1
J Methoden toString()-Date Formatter Java Basics - Anfänger-Themen 8
V Neue Ausgabe von toString nach Methodenaufruf Java Basics - Anfänger-Themen 9
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
H toString-Methode Java Basics - Anfänger-Themen 24
E Vererbung mit toString() Java Basics - Anfänger-Themen 6
O Referenz - toString Java Basics - Anfänger-Themen 9
B toString mit optionaler Ausgabe überrschreiben Java Basics - Anfänger-Themen 5
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
C Methoden toString Java Basics - Anfänger-Themen 4
B toString() Dilemma Java Basics - Anfänger-Themen 7
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 13
TomatenBrot447 Mit toString eine Ausgabe liefern wie in einer schon implementierten Methode ? Java Basics - Anfänger-Themen 1
V ToString-Methode mit JUnit testen(BlueJ) Java Basics - Anfänger-Themen 10
D Arrays.toString spuckt null aus? Java Basics - Anfänger-Themen 3
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
K array in toString des objektes ausgeben Java Basics - Anfänger-Themen 1
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
J toString() Methode und ArrayList Java Basics - Anfänger-Themen 1
K toString() Java Basics - Anfänger-Themen 1
H Erste Schritte Arrayes.toString methode funktioniert nicht Java Basics - Anfänger-Themen 2
A Problem mit toString Methode Java Basics - Anfänger-Themen 8
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
I Vererbung toString() Frage Java Basics - Anfänger-Themen 5
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
E Richtige Ausgabe nur mit toString() - Warum? Java Basics - Anfänger-Themen 4
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
A ToString()-Methode richtig benutzen Java Basics - Anfänger-Themen 3
J ArrayList toString() Übergabe Fehler Java Basics - Anfänger-Themen 2
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
A JList / toString modify Java Basics - Anfänger-Themen 2
J Vererbung Überschriebene toString-Methode aufrufen Java Basics - Anfänger-Themen 10
M toString gibt "null" statt "0.0" aus Java Basics - Anfänger-Themen 5
M toString Java Basics - Anfänger-Themen 7
C Methoden String von einem toString() herauslesen Java Basics - Anfänger-Themen 2
B Wann toString() überschreiben? Java Basics - Anfänger-Themen 21
P toString-Methode gibt immer null vor Variable aus Java Basics - Anfänger-Themen 9
N .toString() und (string) Java Basics - Anfänger-Themen 2
B Methoden toString Methode mit Schlüsselwort new Java Basics - Anfänger-Themen 3
S schwierigkeit mit in der verwaltungsklasse benutzen von toString() Java Basics - Anfänger-Themen 7
J Zweidimensionales Array durch ToString ausgeben lassen Java Basics - Anfänger-Themen 21
N Matrix an toString Java Basics - Anfänger-Themen 7
A Werteausgabe des Construktors mit toString Java Basics - Anfänger-Themen 2
D super.tostring Java Basics - Anfänger-Themen 8
A Stringarray toString Java Basics - Anfänger-Themen 5
L toString()-Methode in verschieden Klassen Java Basics - Anfänger-Themen 3
R Frage zu statischer Methode toString() Java Basics - Anfänger-Themen 3
S Escape Sequenz in der toString() ? Java Basics - Anfänger-Themen 4
S Stack als verkettete liste/ toString methode Java Basics - Anfänger-Themen 3
A Arrays.asList(s).toString() ohne [] und , Java Basics - Anfänger-Themen 3
P toString Java Basics - Anfänger-Themen 4
M .toString(); // Ausgabe: Attribut von Vaterklasse Java Basics - Anfänger-Themen 12
K toString Java Basics - Anfänger-Themen 10
F toString Methode ausgeben Java Basics - Anfänger-Themen 3
R getClass und getName sowie toString Java Basics - Anfänger-Themen 10
D Arrays.toString problem Java Basics - Anfänger-Themen 2
D array.toString() wieso funktioniert es nicht Java Basics - Anfänger-Themen 4
S toString-Methode für Map Java Basics - Anfänger-Themen 15
L OOP hilfe bei tostring methode Java Basics - Anfänger-Themen 6
D toString überschreiben + Exception werfen Java Basics - Anfänger-Themen 3
H toString / println Java Basics - Anfänger-Themen 2
H toString() erben? Java Basics - Anfänger-Themen 3
A Arrays.toString() ohne [ und ] Java Basics - Anfänger-Themen 2
K Arrays.toString(); funktioniert nicht Java Basics - Anfänger-Themen 4
A byte.toString() -> Datenmüll Java Basics - Anfänger-Themen 52
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G toString Problem Java Basics - Anfänger-Themen 12
G Gregorian Calendar aus toString() Ausgabe wiederherstellen Java Basics - Anfänger-Themen 4
T Warum Fehlermeldung bei diesem ToString Programm? Java Basics - Anfänger-Themen 2
B toString Java Basics - Anfänger-Themen 5
S Was macht [Integer.toString(number, tarRadix)] Java Basics - Anfänger-Themen 3
G Probleme bei toString Überschreibung Java Basics - Anfänger-Themen 6
M int toString Datentypen Umwandeln, AnfängerProblem Java Basics - Anfänger-Themen 3
T keine Ausgabe von toString obwohl keine Fehlermeldung Java Basics - Anfänger-Themen 5
D ToString Java Basics - Anfänger-Themen 3
C Bedeutung von toString im Bezug auf Text Java Basics - Anfänger-Themen 4
N char[] aus JPasswordField toString() Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben