Bei nachfolgendem Code erwarte ich als Ergebnis false. Es ist aber true. Wieso?
Meine Überlegungen:
Ich caste die Instanzen der Klasse String zu Instanzen der Klasse Objects um. Und die Methode equals() der Klasse Objects überprüft bekanntlich nur, ob die beiden Referenzen, die am Vergleich beteiligt sind, auf das gleiche Objekt zeigen. Bei zwei unterschiedlichen Objekten mit gleichem Inhalt (und dies ist bei meinem Beispiel der Fall) sollte diese Methode immer false zurückgeben.
Danke für die Antworten.
Meine Überlegungen:
Ich caste die Instanzen der Klasse String zu Instanzen der Klasse Objects um. Und die Methode equals() der Klasse Objects überprüft bekanntlich nur, ob die beiden Referenzen, die am Vergleich beteiligt sind, auf das gleiche Objekt zeigen. Bei zwei unterschiedlichen Objekten mit gleichem Inhalt (und dies ist bei meinem Beispiel der Fall) sollte diese Methode immer false zurückgeben.
Code:
public class Test {
public static void main(String[] args) {
String giga = new String ("megagiga");
String gigb = new String ("megagiga");
System.out.println((Object)giga.equals((Object)gigb));
}
}
Danke für die Antworten.