gibt es einen Unterschied zwischen valueOf und toString ? wenn ja, welchen?
String s = String.valueOf( myDouble );
String s = Double.toString( myDouble );
String s = String.valueOf( myDouble );
String s = Double.toString( myDouble );
return Double.toString(d);
println ruft immer die toString methode des Objekts auf. bei eigenen Objekten sollte man immer die toString überschreiben
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;
}
}
KlasseA@18d107f
KlasseB: test
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)...Sindbad1983 hat gesagt.:ok..super
danke..ich checks!
aber warum gibt er da so komische Zeichen aus?
KlasseA@18d107f
was bedeuten die?
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....
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.
# 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.
jahrelanges schwitzen und programmieren bringen dir das auch bei 8)Sindbad1983 hat gesagt.:Mann oh Mann...was ihr alles wisst!
Das macht mir irgendwie Angst!