Hallo,
ich hab ein paar Fragen zu der folgenden Aufgabe aus dem OCA Oracle Certified Associate Java SE 8 Programmer I Study Guide.
Ist das richtig, wenn ich schreibe:
Die Bedingung in Zeile 5 („Hello“.equals(s)) ist wahr, weil „Hello“ und die Variable s die gleichen Zeichen haben. Die Methode equals vergleicht also die Zeichen von den String-Objekten „Hello“ und s.
Die Bedingung in Zeile 6 (t==s) ist falsch, weil t und s verschiedene Speicherorte (verschiedene Referenzen) im Heap haben.
Die Bedingung in Zeile 7 (t.equals(s)) ist wahr, weil t und s wieder die selben Zeichen haben.
Die Bedingung in Zeile 8 („Hello“ == s) ist wahr, weil „Hello“ und s den selben Speicherort im Heap haben.
Die Bedingung in Zeile 9 („Hello“ == t ) ist falsch, weil „Hello“ und t verschiedene Speicherorte haben.
In der Lösung steht „Line 7 also compares references but is true since both references point to the object from the string pool.“. Kann es sein, dass die Buchautoren hier einen Fehler gemacht haben, weil ich denke, dass line 8 und nicht line 7 gemeint ist.
Dann steht da noch „Finally, line 8 compares one object from the string poll with one that was explicitly constructed and returns false.“. Hier denke ich, dass line 9 und nicht line 8 gemeint ist.
Über Rückmeldung würde ich mich sehr freuen.
ich hab ein paar Fragen zu der folgenden Aufgabe aus dem OCA Oracle Certified Associate Java SE 8 Programmer I Study Guide.


Ist das richtig, wenn ich schreibe:
Die Bedingung in Zeile 5 („Hello“.equals(s)) ist wahr, weil „Hello“ und die Variable s die gleichen Zeichen haben. Die Methode equals vergleicht also die Zeichen von den String-Objekten „Hello“ und s.
Die Bedingung in Zeile 6 (t==s) ist falsch, weil t und s verschiedene Speicherorte (verschiedene Referenzen) im Heap haben.
Die Bedingung in Zeile 7 (t.equals(s)) ist wahr, weil t und s wieder die selben Zeichen haben.
Die Bedingung in Zeile 8 („Hello“ == s) ist wahr, weil „Hello“ und s den selben Speicherort im Heap haben.
Die Bedingung in Zeile 9 („Hello“ == t ) ist falsch, weil „Hello“ und t verschiedene Speicherorte haben.
In der Lösung steht „Line 7 also compares references but is true since both references point to the object from the string pool.“. Kann es sein, dass die Buchautoren hier einen Fehler gemacht haben, weil ich denke, dass line 8 und nicht line 7 gemeint ist.
Dann steht da noch „Finally, line 8 compares one object from the string poll with one that was explicitly constructed and returns false.“. Hier denke ich, dass line 9 und nicht line 8 gemeint ist.
Über Rückmeldung würde ich mich sehr freuen.