SWLästig
Java: 2147483647 + 1 ergibt -2147483648, ohne Meldung
2147483647 + 1 ergibt in Java -2147483648, ohne Exception. Die Sprachspezifikation sagt: Die Ganzzahloperatoren zeigen Überlauf in keiner Weise an.
// Schlagwort
Alle 3 Layer-8-Fehler mit dem Schlagwort „JLS“ – verifizierte Lösungen, trocken kommentiert.
2147483647 + 1 ergibt in Java -2147483648, ohne Exception. Die Sprachspezifikation sagt: Die Ganzzahloperatoren zeigen Überlauf in keiner Weise an.
In Java ist == bei Strings manchmal true und meist false, weil es Referenzen vergleicht, nicht Inhalt. Die Sprachspezifikation nennt equals.
Zwei Integer mit dem Wert 100 sind per == gleich, bei 1000 ist das offen. Die JLS garantiert identische Objekte nur von -128 bis 127.